2012-06-15 17:53:25.532 BadgerNew[3090:707] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[_PFBatchFaultingArray objectAtIndex:]: index (0) beyond bounds (0)'
*** First throw call stack:
(0x353f688f 0x3779d259 0x353f6789 0x353f67ab 0x35d5fee3 0x5a5c9 0x59fd3 0x43819 0x32e63c8b 0x38153 0x38309 0x32e63c8b 0x4142d 0x32e63c8b 0x32ec363d 0x32ec35db 0x32ec2f15 0x32ec2c49 0x35d21 0x32e62cab 0x32e5c7dd 0x32e2aac3 0x32e2a567 0x32e29f3b 0x36fe922b 0x353ca523 0x353ca4c5 0x353c9313 0x3534c4a5 0x3534c36d 0x32e5b86b 0x32e58cd5 0x35a73 0x35a54)
terminate called throwing an exception(lldb)
问题是什么?
它在 main 处就中止了。所以我什至不知道哪一行导致了这个。
提示:在模拟器上运行。在我的 iPhone 上运行。无法在我朋友的 iPhone 上运行。
好吧,我想我明白为什么了。这是 NSFetchedResultsController 中缓存的原因。太蹩脚了。如果您甚至将 NSSortDescriptor 从升序更改为降序,则必须手动删除缓存。
因此,当上下文发生变化并且缓存没有意识到这一点时,它会变得很生气并抛出像您看到的那样的错误。当您在 XCode 中进行构建时,可能会发生这种情况:上下文尚未保存(并丢失其数据),但缓存认为它应该保存,因此当它以零数据重新启动时,它会感到惊讶并且不知道如何处理它。
删除缓存可以解决这个问题。我认为这可能就是苹果停止将它与 UICollectionViewController 一起使用的原因。就是这么一个问题。
编辑:检查行/节是否不超过 NSFetchedResultsController 的相应计数不起作用,因为它再次认为数据应该在那里,但事实并非如此。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)