2016-10-18 207 views
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() 
}} 
+0

SDWebImage如果你需要完美的工作,然后我上传我的代码,我使用 –

+0

我相信它运作良好,但它显示相同的行为:第一个单元格没有任何图像,直到我开始滚动 – moonvader

+0

然后使用占位符这个 。它显示你的占位符图像,直到你的图像没有下载并且没有加载到图像视图 –

回答

1

问题不在于加载方法,而是在图像的圆角。 Xcode 8和iOS 10中的圆角问题可能是found here