1

MagicalRecord用来处理我所有CoreData正在发生的事情,并在和中NSFetchedResultsControllers显示数据。TableViewsCollectionViews

问题是,在我的应用程序的某个地方,我似乎遇到了"CoreData could not fulfill a fault"异常问题。

有没有为我的应用程序的这一部分设置断点的解决方案?我遇到的主要问题是它崩溃了,我不知道在哪里可以找到它!“所有异常”断点似乎没有帮助......

顺便提一句。我没有保留任何managedObjects...这对我来说更加奇怪...

任何帮助表示赞赏

4

2 回答 2

8

当您的代码(或 MagicalRecord)在托管对象上下文中(通常在另一个线程上)保留由 CoreData 删除的对象时,会发生此错误。我会确保我不会存储临时对象或可能作为属性删除的对象,在集合等中。因为你提到你没有,我会确保我没有可能不同步的线程代码,最终,我会确保 MagicalRecord 没有一些线程后台删除或一对多关系类的虚假垃圾收集或可能导致问题的那种东西。

作为一种解决方案,您可以手动检查故障对象以避免崩溃。查看这个问题的方法: 如何判断 `NSManagedObject` 是否已被删除?

抱歉,如果这太笼统了,但是如果没有看到您的应用程序,很难说出您到底为什么会收到错误。

于 2013-07-31T22:10:52.100 回答
2

也许远离第三方框架MagicalRecord可能会有所帮助。我经历过这些框架几乎没有增加价值,并可能造成破坏。

我认为不保留托管对象与此无关。

另一个建议是,您可以在访问托管对象的代码中广泛使用日志语句。这应该可以帮助您缩小错误的可能位置。结合仪器,您可能很快就会抓住罪魁祸首。

于 2013-06-11T14:12:43.247 回答