核心数据 - 如何禁用故障机制

时间:2012-05-17 16:20:17

标签: iphone ios core-data

有没有办法告诉Core Data禁用其内存管理?我在一个视图中有NSManagedObjects很长时间没有保存到上下文。托管对象位于表视图中。用户将首先看到该视图,然后导航到另一个视图,在返回到表视图之前花费大量时间。我收到此异常:“NSObjectInaccessibleException - CoreData无法解决错误”

2 个答案:

答案 0 :(得分:4)

要在使用NSFetchRequest获取核心数据实体时禁用错误,只需在执行请求之前添加[request setReturnsObjectsAsFaults:NO]行。

Read more details here

答案 1 :(得分:1)

核心数据错误实现错误通常意味着您正在查看已出现故障的对象,而另一个线程已删除其中一个子对象并已提交到持久性存储。因此,当原始线程返回以完成故障时,再也没有任何东西了。

您可以做的其中一件事是让您的其他视图侦听NSManagedObjectContextDidSave和NSManagedObjectContextWillSave以对发生的更改做出反应(即重新加载数据),这样您就不会在缓存中找到坏对象