在几个小时之内急需帮助一个演示......应用程序昨晚正在测试我的测试设备。今天早上添加了一些数据(我一直这样做),现在我在保存操作中遇到了这个错误:
Serious application error. Exception was caught during Core Data change processing:
*** -[NSCFDictionary setObject:forKey:]: attempt to insert nil value
(key: _ContentChange_OldIndexPathKey) with userInfo (null)
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '*** -[NSCFDictionary setObject:forKey:]: attempt to insert nil value
(key: _ContentChange_OldIndexPathKey)'
有趣的是,如果我将我的sqlite文件下载到我的Mac并将其提供给模拟器,一切正常。崩溃仅发生在测试设备上。
有什么想法吗?
答案 0 :(得分:4)
我也遇到了这个错误。 Nullifying NSFetchedResultsController委托会阻止它崩溃,但不是修复。问题似乎是在NSFetchRequest中指定一个排序键,对于某些对象是null。在NSFetchedResultsController中进行的某些排序调用期望无null值。
答案 1 :(得分:4)
这是一篇旧帖子,但无论如何我都会发表评论:)
我遇到过类似的问题,删除NSFethedReultController的缓存解决了这个问题。
[NSFetchedResultsController deleteCacheWithName:<cacheName>];