我有一个非常简单的iOS应用-它具有TableView和此TableView中的自定义单元格列表。每个单元格中都有一个ImageView(使用downloadedFrom方法加载图像)。
将我的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()
}}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句