我正在尝试使用UITableView
调用获取的数据填充DataTaskWithURL
。但是, tableview 已在完成处理程序启动之前加载。
我搜索了这个问题并找到了将它移动到主线程的事情,但这似乎没有用。有关如何在tableview加载之前将其移动到正确的que的任何想法?
我的代码:
var jsonData: JSON = []
func getRequestForTableView() {
let urlPath = "[URL]"
let url: NSURL = NSURL(string: urlPath)!
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithURL(url, completionHandler: {data, response, error -> Void in
let json = JSON(data: data)
println(json.count)
self.jsonData = json
})
task.resume()
}
答案 0 :(得分:1)
需要先检查响应代码和您的数据。响应代码如200.如果您正在寻找的东西,您需要在确认回复后在块中重新加载TableView。
确保在TableView中正确解释数据。
重新加载TableView // Swift
dispatch_async(dispatch_get_main_queue(), { () -> Void in
self.tableView.reloadData()
})
响应代码// iOS
if ([response statusCode] == 200) {
//reload table here
}