核心数据:从多个ManagedObjectContexts中获取对象

时间:2013-05-16 15:17:26

标签: ios core-data nsmanagedobjectcontext nsfetchrequest

我的iPad应用程序正在使用丢弃的子ManagedObjectContexts用于可编辑的ViewControllers,因此我可以轻松地丢弃已编辑的数据。 现在我想在叠加视图中显示所有对象的列表,包括可能仍在其中一个子MOC中编辑的未保存对象。

有没有办法让所有现有的MOC在所有上下文中发送获取请求?我知道我可以跟踪我创建的所有上下文,但我很好奇是否有更优雅的解决方案。

1 个答案:

答案 0 :(得分:0)

不,只有在进行更改的托管对象上下文中才知道它们,直到您保存上下文并使用此触发器进行更改传播。

使用子MOC作为“便笺簿”的替代方法是使用撤消管理器。这样,您所做的更改将全部在同一个MOC中(因此获取请求会全部看到它们),但您仍然可以将它们回滚。

如果您真的需要同时使用多个独立的“便笺簿”,这可能会变得有点毛茸茸。但是,在这种情况下,我还会看一下应用程序的交互模型,因为对于iPad界面的约束,一次看到多个独立的挂起更改似乎相当复杂。