【问题标题】:Assigning Image into UIImageView将图像分配给 UIImageView
【发布时间】: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)!)的代码
  • 谢谢,已更新。但是我可以猜到这个功能可以正常工作,因为我可以在调试时看到图像的预览。
  • 如果您声称“imgToShow is 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


【解决方案1】:

尝试重新连接插座!

另外,为了顺利下载图片试试Downloading UIImage via AlamofireImage?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多