我在这段代码运行良好的几个月之后在xcode中收到了这个错误,我无法解释为什么代码会抛出错误。
错误:线程1:致命错误:在解包可选值时意外发现nil
if let recentsRow = collectionView(collectionView, cellForItemAt: recentsIndex) as? DashboardRowCollectionViewCell {
recentsRow.documents = recents ?? []
}
if let favoritesRow = collectionView(collectionView, cellForItemAt: favoritesIndex) as? DashboardRowCollectionViewCell {
favoritesRow.documents = favorites ?? []
}
很抱歉,如果已经询问过这个问题,但我在网站上看了一会儿,仍然无法提出解决方案。
编辑:在模拟器中运行应用程序时,我没有此问题。在更新XCode之前,我也没有遇到过这个问题。
编辑2:调试器告诉我collectionView是零,但我仍然不确定为什么它是零。
以下是我在ViewController中定义collectionView的方法:@IBOutlet weak var collectionView: UICollectionView!
答案 0 :(得分:0)
虽然我不确定为什么收集视图首先是nil,但我通过使用以下内容包围违规代码来修复我的应用程序崩溃:
if collectionView != nil {
... code goes here ...
}
这将是公认的答案,直到有人来解释为什么开始时为零。
编辑:如果你想弄清楚为什么它是nil并且想要问题所属的ViewController代码,我很乐意提供它。