核心数据中多个ManagedObjectContext的工作原理(Swift 2,iOS 9)。我已经浏览了很多链接&网上的材料和StackOverflow上的答案,但找不到确切的答案。
我想知道,假设我已经创建了指向PersistentStoreCoordinator (PSC)的主MOC,以及另一个将父上下文设置为上述主MOC的私有队列MOC。
问题1:那么这是如何工作的呢?层次结构是这样构建的:私有队列MOC --> Main queue MOC --> PSC。
问题2:如果我在“私有队列MOC”上调用save,它是否会保存到主MOC,进而自动将主MOC保存到PSC?或者在私有MOC上保存后,我们必须调用主MOC上的显式保存才能将其保存到PSC?
我刚开始处理核心数据,在线链接不是很清楚。因此,任何简化的解释都将非常受欢迎。
谢谢!
发布于 2016-10-11 00:18:27
对于问题1,层次结构是您创建它的方式。如果您创建了一个没有父上下文的上下文,然后创建了另一个父上下文是第一个上下文的上下文,它将如您所描述的那样。
对于问题2,我将转向documentation on NSManagedObjectContext
当您在上下文中保存更改时,这些更改仅被提交“一次存储”。如果保存子上下文,则会将变更推送到其父上下文。在保存根上下文之前,不会将更改保存到永久存储区。
保存是自动的,所以父上下文不会保存更改,直到您告诉它保存。
https://stackoverflow.com/questions/39954734
复制相似问题