我们正在通过rest调用加载数据:
let task = NSURLSession.sharedSession().dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in
//Update data store….
self.tableView.reloadData()
})
task.resume()
但是网格中的数据不会显示。你必须点击模拟器中的网格-当你这样做时,数据会显示出来。我们缺少什么来让数据在没有任何ui交互的情况下自动加载?
最佳答案
reloadData()
方法必须在主线程中运行。dataTaskWithRequest(_ request: NSURLRequest)
在后台线程中运行:
let task = NSURLSession.sharedSession().dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in
dispatch_async(dispatch_get_main_queue(),{
//Update data store….
self.tableView.reloadData()
})
})
task.resume()
关于swift - Swift UITableView reloadData()UI行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36239271/