В моем приложении у меня есть задача, в которой пользователь будет вводить дату и время, а URL-адрес будет извлекать данные. Каждый URL-адрес будет возвращать с сервера строку JSON
большого размера.
Проблема возникает, когда пользователь вводит больший интервал дат, из-за чего сервер зависает. В версии приложения для Android я использовал AsyncTask
для этого. В этом я разделяю запросы на несколько, если пользователь вводит большой интервал дат. Я использую цикл for для получения данных за каждый день и публикую прогресс в onProgressUpdate
после выполнения задачи каждого дня.
В Swift также мне нужно использовать несколько задач данных в цикле for и публиковать результаты.
for i in 0 ..< dates.count {
// Getting response from server //
let response = getResponse(imei: sImei, date: dates[i])
parseResponse(response)
}
Вот как я планировал это сделать. Но не знаю, как это реализовать.
Я видел несколько предложений по использованию DispatchGroup
. Я не знаком с этим. Поэтому, пожалуйста, помогите мне выполнить мою задачу.
Примечание. Указание большого интервала дат в одном dataTask задушит мой сервер. Потому что это слабый сервер. Поэтому я должен запрашивать данные для отдельных дат и объединять их.