UITableViewCell 图像未加载

Posted

技术标签:

【中文标题】UITableViewCell 图像未加载【英文标题】:UITableViewCell Image not loading 【发布时间】:2016-09-25 06:55:54 【问题描述】:

我想从 firebase 存储下载图像并将其加载到 tableview 中,但它不起作用。 我的downloadUrl是对的,没有错误。

URLSession.shared.dataTask(with: downloadURL)  (data, response, error) in
        if error != nil 
            print(error?.localizedDescription)
            return
        
        DispatchQueue.main.async 
            if let downloadedImage = UIImage(data: data!) 
                cell.imageView?.image = downloadedImage
            
        
    

【问题讨论】:

什么不起作用?你有错误吗?您是否尝试过使用断点来查看过程中失败的原因?单元格是否为空?图片是空的吗?您能否详细说明您知道的情况以及您认为问题的根源所在。这样我们就可以开始解决问题了:) 单元格不为空,图像不为空,我没有错误。我想在我的 tableview 中显示图像,但图像没有显示。 尝试在 dispatch 或其他方式中打印您的图像,看看您是否能够打印它.. 打印图片的网址 【参考方案1】:

为什么不直接使用 Firebase Storage 的 built in download mechanisms 呢?

let httpsReference = FIRStorage.storage().referenceForURL('https://firebasestorage.googleapis.com/b/bucket/o/images%20stars.jpg') // your download URL
httpsReference.dataWithMaxSize(1 * 1024 * 1024)  (data, error) -> Void in
  if (error != nil) 
    // Uh-oh, an error occurred!
   else 
    // Data for "images/stars.jpg" is returned
    let starsImage: UIImage! = UIImage(data: data!)
    cell.imageView.image = starsImage // by default, callbacks are raised on the main thread so this will work
  

【讨论】:

以上是关于UITableViewCell 图像未加载的主要内容,如果未能解决你的问题,请参考以下文章

来自 url 的 UIImage 需要很长时间才能快速加载

UITableVIewCell 重叠图像中的自定义按钮

在 UITableviewCell 中使用 UICollection 视图时未调用 UICollectionView 委托方法“didSelectItemAtIndexPath”

图像未立即在表格视图中加载

来自 NSData 的图像未正确加载

自定义 UITableViewCell 未更新