2013-05-16 42 views
1

我的iPad应用程序正在使用可丢弃的子项ManagedObjectContexts进行可编辑的ViewControllers,因此我可以轻松地丢弃编辑的数据。 现在我想显示覆盖视图中的所有对象的列表,包括可能仍在这些子MOC之一中编辑的未保存的对象。核心数据:从多个ManagedObjectContexts获取对象

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

回答

0

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

将儿童MOC用作“便笺本”的替代方法是使用撤消管理器。这样你所做的改变将全部在同一个MOC中(所以一个抓取请求会看到它们全部),但是你仍然有能力将它们回滚。

虽然如果你真的需要同时使用多个独立的“便笺”,这可能会变得有点多毛。然而,在这种情况下,我还会看看应用程序的交互模型,因为对于iPad界面的约束,多次独立的待处理更改似乎很复杂。

+0

感谢您的回答。不幸的是,在这种情况下,我不能使用单个MOC和撤消管理器。我的解决方案现在是这样的:我将所有子MOC保留在一个弱哈希表中,对所有这些哈希表执行获取请求并返回一个合并结果数组(这也很漂亮) - 感谢UIKonf的伟大演讲,顺便说一句! –