new*_*ike 1 uitableview ios swift
我所说的getPrizesData在func viewDidLoad()
我reload在完成下载JSON数据后调用.
但它没有在tableview中刷新我的细胞,
怎么解决?谢谢
@IBOutlet var invoice: UITableView!
func getPrizesData()-> Void{
let url = NSURL(string: "http://localhost:3002/invoices.json")
let sharedSession = NSURLSession.sharedSession()
let downloadTask: NSURLSessionDownloadTask =
sharedSession.downloadTaskWithURL(url,
completionHandler: {(location: NSURL!, response: NSURLResponse!, error: NSError!)->Void in
if (error == nil){
let dataObject = NSData(contentsOfURL: location)
if let prizes = NSJSONSerialization.JSONObjectWithData(dataObject, options: .MutableLeaves, error: nil) as? NSArray {
let prizesDictionary = prizes[0] as NSDictionary
let toPrizesArray = prizesDictionary["to_prizes"] as NSArray
self.items = toPrizesArray as [AnyObject] as [String]
self.invoice.reloadData()
}
else {
println("error")
}
}else{
println(error)
}
})
downloadTask.resume()
}
Run Code Online (Sandbox Code Playgroud)
数据在非主线程上下载.UI必须仅从主线程更新.
dispatch_async(dispatch_get_main_queue()) {
self.invoice.reloadData()
}
Run Code Online (Sandbox Code Playgroud)