我只是想確保做什麼是對的!CoreData Multiple NSManagedObjectContext保存通知說明
我用父母子女的NSManagedObjectContext模式,其中
我有一個默認的私有隊列的NSManagedObjectContext型NSPrivateQueueConcurrencyType和
我有一個MainQueue的NSManagedObjectContext型NSMainQueueConcurrencyType,其母公司是默認私人隊列,
和每個視圖控制器我將創建一個私有隊列上下文與主隊列上下文的父母,
它是這樣的,
私人情境 - > 主要方面 - > 其他方面
所以我的問題是,這是否設置需要NSManagedObjectContextDidSaveNotification將更改傳播到父上下文,否則它將自動冒泡,因爲所有其他上下文都是父代和主上下文的子代
因爲目前我使用環境保存通知,合併更改和我得到下面的錯誤很多次
致命異常:NSInternalInconsistencyException 這NSPersistentStoreCoordinator沒有持久性存儲。它不能執行保存操作。
2 CoreData 0x2f2f44c9 -[NSPersistentStoreCoordinator executeRequest:withContext:error:] + 3228
3 CoreData 0x2f315db1 -[NSManagedObjectContext save:] + 824
4 App 0x000a3279 -[CoreDataManager saveContext:withCompletionBlock:] (CoreDataManager.m:144)
5 App 0x000a31f9 __46-[CoreDataManager contextDidSaveNotification:]_block_invoke (CoreDataManager.m:134)
6 CoreData 0x2f3798f9 developerSubmittedBlockToNSManagedObjectContextPerform_privateasync + 68
沒有我不使用保存通知更改合併到另一個孩子,我只將其用於更改合併到母公司,例如保存主要背景的孩子上下文將觸發保存通知,在那個時候,我會合並更改爲主要背景,並保存它,這個實習生會保存父母的通知,那時我會將更改合併到父私人上下文中 –