我的代码从网络上下载图片并将它们设置为tableView单元格的imageView。它可以正常工作,但是我需要点击单元格才能刷新单元格的内容并加载图片。我希望图片在加载完成后立即显示。我尝试在cellToUpdate下添加reloadData(),但是应用程序最终会陷入无限循环并崩溃。这是我的代码:
let request: NSURLRequest = NSURLRequest(URL: imgURL)
let getImage: NSURLSessionDataTask = session.dataTaskWithRequest(request, completionHandler: { (data: NSData!, response: NSURLResponse!, error: NSError!) -> Void in
if error == nil {
image = UIImage(data: data)
// Store the image in to our cache
self.imageCache[urlString] = image
dispatch_async(dispatch_get_main_queue(), {
if let cellToUpdate = tableView.cellForRowAtIndexPath(indexPath) {
cellToUpdate.imageView?.image = image
}
})
}
else {
println("Error: \(error.localizedDescription)")
}
})
getImage.resume()