我在我的應用程序(和加載另一個存儲)中的某個位置從persistentStoreCoordinator中刪除persistentStore,我的managedObjectContext爲reset
。 當我做到這一點,根據該文件,我還需要刪除已取到managedObjects所有引用:如何觀察是否從managedObjectContext中刪除了一個NSManagedObject
所有接收方的管理對象是「被遺忘的」如果使用此 方法,你應該 確保您還放棄對使用接收方提取的任何託管對象的引用,因爲這些對象之後將無效。
我想避免不必經過我所有的fetchedResultsControllers,高速緩存,陣列可能包含managedObjects,詳細視圖也存儲物體等
相反,我寧願去觀察,如果管理對象的isInserted
狀態更改。類似於
[myObject addObserver:self
forKeyPath:@"isInserted"
options:0
context:nil];
不幸的是,這似乎並不奏效。
所以 - 如何觀察是否從managedObjectContext中刪除了NSManagedObject?
如果有這樣的通知,你會做什麼迴應?你仍然需要瀏覽所有提取的結果控制器等,並將其清除。重置託管對象上下文對您的數據模型是一個重大沖擊,觸及模型的所有內容都需要以某種方式作出響應。 –
好吧,我會在擁有一個管理對象的每個控制器上得到這個通知。所以我不必手動通過控制器層次結構,而是每個控制器都可以獨立作出反應。這似乎更可靠。 –