首页 > 解决方案 > Swift Xcode 致命错误:在隐式展开可选值时意外发现 nil

问题描述

我正在参加在线课程来学习 Swift。我按照视频中的代码进行操作,但出现错误。它来自我为集合视图注册 xib 的行。视频中的代码有“bundle:nil”,但这就是我得到的地方:

“致命错误:在隐式展开可选值时意外发现 nil”

我哪里错了?

这是我的代码:

@IBOutlet weak var collectionView: UICollectionView!

override func awakeFromNib() {
    super.awakeFromNib()
    collectionView.register(UINib(nibName: "StoryCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "StoryCollectionViewCell")
}

我的代码

标签: iosswiftxcodeuicollectionview

解决方案


它失败了,因为collectionView你调用的方法是 nil。在您的图像中,该行的左侧@IBOutlet weak var collectionView: UICollectionView!是一个空圆圈。当该圆圈为空时(其中没有点),这意味着它没有连接到您的 XIB/Storyboard 文件,因此当您尝试对其运行代码时它为零。

为了连接它,您可以与您的代码并排打开故事板,单击圆圈并将其拖到您拥有的 XIB/Storyboard 文件中的 collectionView 中。有关将 XIB/Storyboard 文件中的视图连接到代码的更多信息,请参阅此文档:https ://developer.apple.com/library/archive/documentation/ToolsLanguages/Conceptual/Xcode_Overview/ConnectingObjectstoCode.html


推荐阅读