0

我正在尝试UITableView用我通过DataTaskWithURL调用获得的数据填充 a。但是,tableview在完成处理程序启动之前已经加载。

我搜索了这个问题并找到了将其移至主线程的方法,但这似乎不起作用。在加载表格视图之前如何将其移动到正确的队列有任何想法吗?

我的代码:

    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()
}
4

1 回答 1

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             
}
于 2015-04-20T13:41:38.247 回答