我有一个包含两个部分的表格视图
这两个部分包含来自两个不同 url 的数据
我使用 Alamofire 从 json 下载内容。
第 1 部分的 URL 比第 2 部分的内容更多。两个任务都异步运行
完成第 2 部分数据后,我正在重新加载表视图。但由于某种原因,我的第 1 部分数据被终止,并且没有显示任何结果
请让我知道如何处理。下面是示例代码结构
let url1 = "https://xxxxxxxxxx.com"
Alamofire.request(url1)
.responseJSON { response in
guard let json = response.result.value as? [Any] else {}
//do parsing from json
mytableview.reloadData()
}
let url2 = "https://yyyyyyyyy.com"
Alamofire.request(url2)
.responseJSON { response in
guard let json = response.result.value as? [Any] else {}
//do parsing from json
mytableview.reloadData()
}
就我而言,来自 url2 的数据正在快速获取和解析 json 并且正在重新加载表视图。在做我的 url1 时仍在解析数据
如何在所有解析完成后同时显示 url1 和 url2 数据。请指教
使用DispatchGroup
:
let group = DispatchGroup()
let url1 = "https://xxxxxxxxxx.com"
group.enter()
Alamofire.request(url1)
.responseJSON { response in
guard let json = response.result.value as? [Any] else {}
//do parsing from json
group.leave()
}
let url2 = "https://yyyyyyyyy.com"
group.enter()
Alamofire.request(url2)
.responseJSON { response in
guard let json = response.result.value as? [Any] else {}
//do parsing from json
group.leave()
}
group.notify(queue: DispatchQueue.main) {
mytableview.reloadData()
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句