UIImageView 未设置图像在展开可选值时意外发现 nil

Posted

技术标签:

【中文标题】UIImageView 未设置图像在展开可选值时意外发现 nil【英文标题】:UIImageView not set the image unexpectedly found nil while unwrapping an Optional value 【发布时间】:2015-01-09 09:59:47 【问题描述】:

我正在尝试像这样在 viewcontroller 方法 setImage(index : Int) 中设置图像

(UIImage.image = UIImage(named : imageArray[index]))

并像这样在另一个控制器中调用此方法

(objViewController.setImage(5)) 

但是在 setImage 方法中给我这一行的错误

(UIImage.image = UIImage(named : imageArray[index]))

错误是在展开可选值时意外发现 nil

样本

【问题讨论】:

var image = UIImage(named : imageArray[index]) 并且你必须确保 imageArray[index] 包含一个字符串,而不是一个 nil 是的,我确定字符串不为零 但是你为什么要做UIimage.image = ...?只需使用 imageProperty = UIImage(named : imageArray[index]) 将图像分配给视图控制器的属性你确定你的包中有一个正确名称的图像吗? 那是你的真实代码吗? UIImage.image = ... 根本不应该编译。 另一个控制器设置图像时出现问题。在同一个控制器中它的工作 【参考方案1】:

试试这个:

UIImage.image =  imageArray(index)

【讨论】:

请对您的回答提供一些解释。顺便说一句,没有投反对票。 (UIImage.image = UIImage(named : imageArray[index])) 这不是从 imageArray 获取图像的方法。正确的方法如上所述。如需进一步查询,您可以查看此raywenderlich.com/forums/viewtopic.php?f=2&t=18762 Swift 数组下标使用方括号:imageArray[index]。并且UIImage.image = ... 无法编译。 我在代码中使用 self.UIImageView.image = UIImage(named : imageArray[index])

以上是关于UIImageView 未设置图像在展开可选值时意外发现 nil的主要内容,如果未能解决你的问题,请参考以下文章

奇怪的“致命错误:在展开可选值时意外发现 nil”

Swift 1.2:致命错误:在展开可选值时意外发现 nil

不断出现致命错误:在展开可选值时意外发现 nil

3D Touch:在展开可选值时意外发现 nil

Swift 3 更新中的错误 - 在展开可选值时意外发现 nil

在展开可选值时发现 nil