0
我試圖用我通過DataTaskWithURL
調用獲取的數據填充UITableView
。但是,桌面視圖已在完成處理程序開始之前加載。完成處理程序調用太晚
我搜索了這個問題,發現將它移動到主線程的東西,但似乎並沒有工作。任何想法如何在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()
}
刷新在完成處理程序結束表格視圖(但確實在主線程中重裝)。 – rmaddy 2015-02-11 16:07:00
...並在獲取數據時顯示進度視圖,或給出其他反饋以讓用戶知道正在進行的操作 – Antonio 2015-02-11 16:07:55
假設「self.jsonData」是您的數據源。在這個'completionHandler'的最後一行調用'dispatch_async(dispatch_get_main_queue()){self.tableView.reloadData()}'。 – sikhapol 2015-02-11 18:54:45