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