1
我有非常简单的iOS应用程序 - 它具有TableView和此TableView中的自定义单元列表。在每个单元格中有一个ImageView(使用从加载图像的已下载)。图像加载不正确
将我的Xcode更新到8版本并将项目转换为Swift 2.3后,我得到了非常有趣的结果 - 我重新加载TableView中的项目列表 - 屏幕上的第一个单元格没有任何图像,当我开始向下滚动时看到其他图像加载正常。当滚动到顶部 - 所有图像都很好。
我也试图改变图像加载到SDWebImage库的方式,但结果是一样的。哪里不对?
extension UIImageView {
func downloadedFrom(link link:String, contentMode mode: UIViewContentMode) {
guard
let url = NSURL(string: link)
else {return}
contentMode = mode
NSURLSession.sharedSession().dataTaskWithURL(url, completionHandler: { (data, response, error) -> Void in
guard
let httpURLResponse = response as? NSHTTPURLResponse where httpURLResponse.statusCode == 200,
let mimeType = response?.MIMEType where mimeType.hasPrefix("image"),
let data = data where error == nil,
let image = UIImage(data: data)
else { return }
dispatch_async(dispatch_get_main_queue()) {() -> Void in
self.image = image
}
}).resume()
}}
SDWebImage如果你需要完美的工作,然后我上传我的代码,我使用 –
我相信它运作良好,但它显示相同的行为:第一个单元格没有任何图像,直到我开始滚动 – moonvader
然后使用占位符这个 。它显示你的占位符图像,直到你的图像没有下载并且没有加载到图像视图 –