【发布时间】:2017-09-25 09:58:32
【问题描述】:
我找不到该问题的解决方案。 我有以下代码
let imgData = self.getImgData(id: (entry["id"] as? Int)!)
let imgToShow = UIImage(data: imgData as Data)
imgToShow 是我所期望的。 我的意思是,在调试时它给了我我想要的预览。所以我确信它是正确的而不是零。
public func getImgData(id: Int) -> NSData{
let url = *
let imgUrl = URL(string: url)!
let imgData = NSData(contentsOf: imgUrl)!
return imgData
}
我想将此imgToShow 分配给cell.img.image = imgToShow
但它给了我一个错误:
线程 1:EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)
您能否给我一些建议,我应该在哪里寻找解决方案? 提前谢谢你
【问题讨论】:
-
贴出
self.getImgData(id: (entry["id"] as? Int)!)的代码 -
谢谢,已更新。但是我可以猜到这个功能可以正常工作,因为我可以在调试时看到图像的预览。
-
如果您声称“
imgToShowis not nil”是正确的,那么我认为问题出在这部分:cell.img,所以请检查您的单元格是否正确并检查@987654328 @属性是正确的 -
所以,我尝试使用@SalmanGhumsani 解决方案,调用
getImage(url) { (data) in cell.img.image = data }图像已下载,我可以在调试时看到它,但在将其分配给 UIImageView 的位置相同。img的问题也可能是这样的:class AuthorTableViewCell: UITableViewCell { @IBOutlet weak var img: UIImageView! override func awakeFromNib() { super.awakeFromNib() self.imgId.isHidden = true } } }但我应该在哪里寻找 -
效果很好!谢谢。所以问题出在 UIImageView 项目上,因为有一个非常简单、愚蠢的错误。在重构期间,我更改了 Outlet 的名称,但已引用旧名称。刚刚重新连接了 Outlet,这就是我想要的。我在上面浪费了 2 天时间。这太简单了。无论如何,再次感谢您的课程,始终应检查参考资料。
标签: swift uiimageview