1

多个ManagedObjectContext(MOC)如何在核心数据(Swift 2,iOS 9)中工作。我已经通过很多链接&材料在线和StackOverflow上的答案,但无法找到确切的答案。核心数据Multiple ManagedObjectContext

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

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

问题2:如果我打电话给'私人队列MOC'保存,它是否会保存到主MOC,并自动将主MOC保存到PSC?或保存在私人MOC后,我们必须在主MOC上显式保存以将其保存到PSC?

我刚开始研究核心数据,在线链接不太清楚。所以,任何简单的解释将不胜感激。

谢谢!

回答

1

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

对于问题2,我会求助于documentation on NSManagedObjectContext

当您保存在一个范围内,变化是唯一的承诺。“一个囤”的变化如果你挽救一个孩子而言,更改推给其父母。在保存根环境之前,更改不会保存到持久性存储中。

储蓄是从未自动的,直到你告诉它的父上下文无法保存更改保存。

+0

谢谢! @汤姆哈灵顿 – Tejas