在我的应用程序中,我有一个任务,用户将输入从和到日期,并且 url 将获取数据。JSON
每个 URL 都会从服务器返回大字符串。
当用户输入较大的日期间隔导致服务器挂起时,就会出现问题。在应用程序的 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 中提供较大的日期间隔会阻塞我的服务器。因为,它是一个低端服务器。所以我必须查询各个日期的数据并将它们组合起来。