Обработка нескольких запросов APIIOS

Программируем под IOS
Ответить
Anonymous
 Обработка нескольких запросов API

Сообщение Anonymous »

Я в настоящее время внедряю приложение, которое имеет CollectionView. Клетки в представлении сбора заполняются через Api-Request. Запросы относятся к одному и тому же API, но с разными местами. Так, например, для первой ячейки, которую я называю: «Google.de/gamesinitaly» и для второй ячейки: «Google/Gameingermany». В то время как я прокручиваю обзор Collection, появляющиеся ячейки также должны создавать Api-Request, в котором есть разные страны. < /p>

Проблема, с которой я сталкиваюсь, заключается в том, что я не знаю, как обрабатывать различные вызовы API.

Мне удалось сделать один Api-Request и заполните каждую ячейку одинаковыми данными, но я хочу разные данные для каждой ячейки. < /p>

Мой код выглядит следующим образом: < /p>

collectionView: < /strong> < /p>
Call с CollectionView: < /p>

Код: Выделить всё

func fetchMatch() {
ApiService.sharedInstance.fetchGames(from:  contentURL, completion: { (content: [[contentModel]]) in
self.content = content
self.collectionView.reloadData()
})
}
API-службы:[/b]

Установите URL-адрес:
func fetchGames(from url: String, completion: @escaping ([contentModel]) -> ()) {
fetchFeedForUrlString(urlString: "\(BaseUrl)/getgames/\(url)", completion: completion)
}
< /code>

fetch function: < /p>

func fetchFeedForUrlString(urlString: String, completion: @escaping (T) -> ())
{
let url = URL(string: urlString)
let task = URLSession.shared.dataTask(with: url!) { (data, response, error) in

guard let data = data else {
return
}

do {
let json = try JSONDecoder().decode(T.self, from: data)

DispatchQueue.main.async {
completion(json)
}

} catch let jsonError {
print(jsonError)
}

}

task.resume()
}
< /code>

Я думаю, что я мог бы сделать многие из этих функций fetchgames, но я думаю, что это была бы плохая практика.

я Также прочитайте о диспетчерской группе, но я не совсем уверен, как я могу внедрить их в свою программу. < /p>

Кто-нибудь знает, как я могу справиться с несколькими вызорами API в хорошей практике?

Подробнее здесь: https://stackoverflow.com/questions/609 ... i-requests
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»