要在覈心數據創建一個管理對象:如何取消刪除在Core Data中標記爲刪除的被管理對象?
NSManagedObject *aManagedObject = [NSEntityDescription
insertNewObjectForEntityForName:@"Employee"
inManagedObjectContext:aContext];
要刪除管理對象,將消息發送到它的管理對象上下文。
[aContext deleteObject:aManagedObject];
這種方法將消息發送到aManagedObject
- (void)prepareForDeletion
這裏是我的問題。我將這些數據與外部數據庫同步。我有一個名爲「刪除」的屬性。當一個對象第一次被「刪除」時,我想將「已刪除」屬性設置爲YES,稍後將其同步到它被刪除的外部數據庫。在未來某個日期,所有「已刪除」== YES實體將過期並真正被刪除。
在prepareForDeletion我想測試,看是否:
- dateSynced> = dateModified
- dateSynced < = EXPIRATIONDATE
- 「刪除」 ==是
真正刪除object,else:
- dateModified =現在
- 「刪除」= YES
- ,使其不刪除
有沒有一種方法,使在這一點上不能刪除?
或者,我不應該嘗試使用prepareForDeletion來覆蓋deleteObject,只是創建一個新的方法,比如obsoleteObject來設置「deleted」= YES和dateModified = Now,並且以後只使用deleteObject進行清除?