【问题标题】:Core Data Multiple ManagedObjectContext核心数据多 ManagedObjectContext
【发布时间】:2017-02-18 15:59:11
【问题描述】:

多个 ManagedObjectContext (MOC) 如何在核心数据中工作(Swift 2、iOS 9)。我浏览了很多在线链接和材料以及 StackOverflow 上的答案,但找不到确切的答案。

我想知道,假设我创建了指向 PersistentStoreCoordinator (PSC) 的主 MOC 和另一个将父上下文设置为上述主 MOC 的私有队列 MOC。

问题 1:那么这是如何工作的?层次结构是这样构建的:私有队列 MOC --> 主队列 MOC --> PSC。

问题 2:如果我在“私人队列 MOC”上调用 save,它会保存到主 MOC,然后主 MOC 会自动保存到 PSC 吗?还是在 Private MOC 上保存后,我们必须在 Main MOC 上调用显式保存才能将其保存到 PSC?

我刚开始研究核心数据,在线链接不是很清楚。因此,任何简化的解释都将不胜感激。

谢谢!

【问题讨论】:

    标签: ios core-data swift2 nsmanagedobjectcontext managedobjectcontext


    【解决方案1】:

    对于问题 1,层次结构是您创建它的方式。如果您创建一个没有父上下文的上下文,然后创建另一个其父上下文是第一个上下文的上下文,它将如您所描述的那样。

    对于问题 2,我将转至 documentation on NSManagedObjectContext

    当您在上下文中保存更改时,更改只会“一次存储”提交。如果您保存子上下文,则会将更改推送到其父上下文。在保存根上下文之前,更改不会保存到持久存储中。

    保存是从不自动进行的,因此父上下文在您告诉它保存之前不会保存更改。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-29
      • 1970-01-01
      • 2018-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-17
      • 1970-01-01
      相关资源
      最近更新 更多