对于未删除的对象,“核心数据无法解决”

时间:2013-11-15 05:59:06

标签: ios objective-c core-data crash fault

对于应用程序的最新更新,我看到许多崩溃日志,其中包含核心数据无法解决的错误。但在应用程序(启动或其他地方)中没有任何地方删除无法实现故障的对象,也不会删除级联。怎么会发生这种错误?有没有办法在实时应用程序中捕获并修复它?

如果你添加了但是还没有正确保存对象呢?

1 个答案:

答案 0 :(得分:5)

未正确“保存”的对象可能会导致此行为。

一种方法是:

  • 在子环境中插入对象
  • 获取该对象的永久ID
  • 保存到父上下文
  • 获取父上下文中的对象
  • 刷新父上下文中的对象
  • 访问父上下文中的对象(实现该对象的错误)

修改

在单一上下文体系结构中达到此状态的另一种方法是:

  • 插入对象
  • 获取对象的永久ID
  • 刷新对象
  • 尝试访问该对象(触发对象上的错误)

刷新可能是由于获取的结果控制器在数据中进行分页而不一定是应用程序中“可见”的结果。

此外,还有一个CoreData“bug”并不总是允许您在父子上下文体系结构中捕获此异常,但您可以尝试...

但是,如果这是您遇到的情况,则这不是您的应用程序所需的行为。你丢失了添加到商店的新数据。