我正在尝试创建一个应用程序,它允许后台线程更新核心数据对象,而用户可能正在读取相同的数据。
我的方法是使用多个 NSManagedObjectContexts,然后在后台线程执行-save:
操作之前,我获取用户当前正在处理的对象并递归地触发其所有属性和关系的故障。这样我就拥有了用户可以在我的 NSManagedObjectContext 中使用的所有对象,而不会看到已经更新的值。
但这只有在 NSManagedObjectContext 不能自己决定例如内存使用率太高时才有效,并且开始出错我没有明确引用的对象(除了通过 NSManagedObject 关系)。
所以问题是,NSManagedObjectContext 能否决定一个对象需要重新故障,而无需我的干预?
谢谢你的努力,马库斯