我正在开发一个具有UICollectionViewController的应用程序,该应用程序在某些难以重现的神秘情况下崩溃.崩溃的日志如下所示:
*** Assertion failure in -[UICollectionViewData validateLayoutInRect:], /SourceCache/UIKit_Sim/UIKit-3318.16.14/UICollectionViewData.m:417
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UICollectionView received layout attributes for a cell with an index path that does not exist: <NSIndexPath: 0xc000000000008016> {length = 2, path = 0 - 1}'
Run Code Online (Sandbox Code Playgroud)
一旦我们切换到iOS 8 SDK,这样的崩溃似乎才开始在我们的代码中出现.
为什么会这样?
注意:我已经知道问题的答案是什么,但是我发现很少有关于Stack Overflow和网络其他部分崩溃的信息.我将在下面发布答案.这个错误让我的同事和我三天追踪,所以希望这篇文章能为其他人节省很多时间和挫折.我已向Apple提交此错误.