我在覈心數據庫中有一些計算值,我需要在保存之前進行更新。基本上我編號的一些實體,以減輕他們之間的導航。撤銷管理器不與NSPersistentDocument保持同步
目前我正在觀察NSManagedObjectContextWillSaveNotification
並試圖在此處進行編號。看來我所做的更改已經保存,但撤消管理器似乎仍然有一些修改。即使託管對象上下文表示它沒有(hasChanges
),這使得文檔看起來像有變化(標記在關閉按鈕上)。如果我撤消一次,文檔看起來沒有變化,但是託管對象上下文確實沒有變化。
撤消管理器以某種方式重置自己在錯誤的地方或我做錯了什麼?
更新
的有點混淆代碼中,我這樣做重新編號如下:
- (void)managedObjectContextWillSave:(NSNotification *)notification
{
// Force the content view controller to save any pending changes.
[_contentViewController saveChanges];
NSArray *itemSortDesc = [self sortDescriptorsForSomeItem];
NSArray *items = [SomeItem findAllObjectsInContext:self.managedObjectContext
andSortBy:itemSortDesc];
NSUInteger i = 0;
for (SomeItem *i in items)
{
i.uid = [NSNumber numberWithUnsignedInteger:i++];
}
}
的_contentViewController
包含將被解析到的SomeItem
多個實例的文本字段。
你會發布處理該事件的代碼嗎? – paulmelnikow