假設我使用coreData在數據庫中插入了多個實體。我沒有保存。如果我沒有引用它們,如何刪除所有未保存的插入實體?刪除核心數據中的所有未提交實體
好吧,我怎麼看,我不能使用[context rollback]
當context.undoManages
是nil
?那很糟。 但是在[context reset]
之後我應該如何處理所有的參考和對象?如果他們在數據源中使用,接口會發生什麼?我崩潰了?
假設我使用coreData在數據庫中插入了多個實體。我沒有保存。如果我沒有引用它們,如何刪除所有未保存的插入實體?刪除核心數據中的所有未提交實體
好吧,我怎麼看,我不能使用[context rollback]
當context.undoManages
是nil
?那很糟。 但是在[context reset]
之後我應該如何處理所有的參考和對象?如果他們在數據源中使用,接口會發生什麼?我崩潰了?
[managedObjectContext rollback]
將恢復所有未保存的更改。
這是CoreData's
NSManagedObjectContext
類的用途。它允許您在「便籤簿」中執行您所做的更改,這些更改只針對您選擇的任何目的。如果你願意,你可以[context save]
。或者,如果你決定要折騰的事...
[context rollback];
如果使用父/子的NSManagedObjectContext的,那麼你可以只創建的NSManagedObjectContext的新實例,並重新分配其父。
如果你沒有,那麼你可以使用實例方法復位:
文檔: 復位
返回接收到它的基本狀態。
- (void)reset
所有接收方的管理對象是「忘了。」如果你用這種方法,你應該確保您還使用接收器取出丟棄任何管理對象的引用,因爲他們將是無效之後。
如果'context.undoManager'爲'nil'值是可能的嗎? –