我正在使用后台线程从网络和主线程中获取数据来呈现我的单元格:
dispatch_async(dispatch_get_global_queue(QOS_CLASS_BACKGROUND, 0), {
let _ = self.http.getInfo() { (result) in
self.cellsArray = result
dispatch_async(dispatch_get_main_queue(), {
self.tableView.reloadData()
})
completion(completed: true)
}
})
其中self.http.getInfo
是获取网络信息的NSURLSession.sharedSession().dataTaskWithRequest
方法。
当我运行我的应用程序时,我的单元格会分别显示为:第一个出现,第二个出现,下一个出现,2秒,下一个等等。
为什么他们不同时出现?而且,由于后台和主线程的使用,当我实现无限滚动并将新单元追加到现有单元阵列时,我的UITableView会跳转。
我该如何解决?
答案 0 :(得分:0)
在self.tableView.reloadData()
的完成处理程序中编写NSURLSession.sharedSession().dataTaskWithRequest
此语句。