我正在开发新的iPhone应用程序,问题是当我运行时,该应用程序在插入的代码中为我显示错误,如下所示
https://drive.google.com/file/d/0Bz6LRAJzLaW2OGJSVmo3WE8yblk/view?usp=sharing
它与另一个视图控制器和另一个 swift 文件一起工作正常,但不适用于此视图控制器和 swift 文件
请参阅下面的使用 InfoViewController ,但不使用 informationViewController ,尝试在两个文件之间更改,但仍然存在错误
https://drive.google.com/file/d/0Bz6LRAJzLaW2QVJUaC1EdndsX1E/view?usp=sharing
希望有人帮助我解决这个案子。
问候;哈立德·巴德拉
如果您在控制台中查看图像,则可以看到文本fatal error: unexpectedly found nil while unwrapping an Optional value
这意味着您正在尝试使用为 nil 的对象执行某些操作(在本例中解包值)。
如果您查看图像中以红色突出显示的行,那么这就是崩溃发生的地方。您可以看到您正在尝试将detailsLabel.text
的值设置为 currentPic!.notes
你的currentPic
是一个Photo?
,问号的意思是Optional
,Optional
的意思:它可以是某物,也可以是无物。currentPic!.notes
中的!
意味着您告诉编译器只解开可选的 nil 值或无 nil 值。这通常是一件坏事,因为,正如您在此处看到的,如果它是 nil,那么当您尝试使用 nil 设置UILabel
的text
时,您会收到崩溃。
因此,有几件事供您检查。
- 您的
detailsLabel
是否正确连接到插座(根据您的图像似乎是这样,但是......你知道,安全总比后悔好:-)) -
尝试安全地打开当前图片的包装:
if let currentPic = currentPic { detailsLabel.text = currentPic.notes }
- 如果安全解包有效,那么您可以开始查看为什么您的
currentPic
变量为 nil。在你开始使用它之前,它可能应该用一些值初始化viewDidLoad()
,也许当你从一个页面导航到另一个页面时,它应该被发送。无论如何,在尝试在viewDidLoad()
中使用它之前,您需要将其初始化为某些内容
希望对您有所帮助。