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 图像未加载的主要内容,如果未能解决你的问题,请参考以下文章
在 UITableviewCell 中使用 UICollection 视图时未调用 UICollectionView 委托方法“didSelectItemAtIndexPath”