有没有办法告诉Core Data禁用其内存管理?我在一个视图中有NSManagedObjects很长时间没有保存到上下文。托管对象位于表视图中。用户将首先看到该视图,然后导航到另一个视图,在返回到表视图之前花费大量时间。我收到此异常:“NSObjectInaccessibleException - CoreData无法解决错误”
答案 0 :(得分:4)
要在使用NSFetchRequest获取核心数据实体时禁用错误,只需在执行请求之前添加[request setReturnsObjectsAsFaults:NO]行。
答案 1 :(得分:1)
核心数据错误实现错误通常意味着您正在查看已出现故障的对象,而另一个线程已删除其中一个子对象并已提交到持久性存储。因此,当原始线程返回以完成故障时,再也没有任何东西了。
您可以做的其中一件事是让您的其他视图侦听NSManagedObjectContextDidSave和NSManagedObjectContextWillSave以对发生的更改做出反应(即重新加载数据),这样您就不会在缓存中找到坏对象