是否可以防止核心數據持久化對象?防止核心數據持久化對象
比方說,如果我有NSManagedObject
子類BOOL
屬性isTemporary
。
所以,當保存已經呼籲方面,我會做的對象進行檢查:
if (self.isTemporary) {
// Do not save
} else {
// Save this object
}
編輯:對於這個問題
嗯更多的背景信息,以澄清我的問題,我創建一個對象,如果它已經存在我是我的數據庫獲取它,如果它不存在我插入它,並設置該對象的臨時標誌爲YES。我設置了標誌,因爲在這個階段如果用戶將執行保存或取消操作,尚不清楚。如果他節省,我會將該旗暫時設置爲NO。如果他取消了,那麼如果臨時標誌爲YES,我將刪除該對象。
到目前爲止,雖然我不希望它們持續存在(因爲它們應該是臨時的),但在此期間背景中可能發生核心數據保存操作。所以,如果我不幸並且應用程序被殺死,我可能會將不需要的對象的臨時標誌設置爲YES。一種選擇是在啓動應用程序時執行清理操作,以刪除具有臨時標誌YES的對象。但是如果不能保持這些對象,一切都會變得容易很多。
很好,但是我在做什麼'NSManagedObject'子類的方法執行此檢查? ' - (void)willSave'? –
嗯,我不得不刪除對象,如果我不想它持續?我寧願保留它... –
1)是的,'willSave'是覆蓋的方法。 2)如果你想保留它,保存它;-)(但保持isTemporary標誌)。 – Mundi