我想为NSManagedObject上的操作禁用撤销注册,但即使我显式调用disableUndoRegistration,它仍会记录操作。
我有什么明显的遗失吗?
我还尝试分别在viewWillAppear和viewWillDisappear方法中启用/禁用。
以下是一些示例代码......
#pragma mark -
#pragma mark NotesViewControllerDelegate methods
- (void)notesViewController:(NotesViewController *)controller didFinishWithSave:(BOOL)save
{
if (save)
{
[undoManager disableUndoRegistration];
[book setNotes:[controller getDataFromText]];
[undoManager enableUndoRegistration];
}
}
答案 0 :(得分:3)
你必须调用[managedObjectContext processPendingChanges];在禁用和启用撤销注册的每个调用之前,因为Core Data队列更改以便能够进行优化。