ios - 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")
}
解决方案
它失败了,因为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
推荐阅读
- javascript - 为什么 onclick 仅在您单击两次时才有效?
- c# - 问题放弃对控制的关注
- join - Flink - 加入同一流以过滤某些事件
- c# - 大摇大摆的 IAuthorizationFilter 和 IOperationFilter
- filter - Splunk 如何从列表中排除某个值(如果存在)
- javascript - 如何将数据 url 转换为有效 url,以便它可以通过 Graph API 发布在 Facebook 页面上?
- javascript - 无法使用 puppeteer 将绑定/curried/closure 函数从节点传递到浏览器
- c# - Microsoft Graph SDK 请求批处理响应的下一个链接
- excel - 通过 VBA 更新表
- c++ - 静态库的链接和加载