Core data NSManagedObjectContext:是否撤消保存操作?

Core data NSManagedObjectContext:是否撤消保存操作?,core-data,ios5,nsundomanager,Core Data,Ios5,Nsundomanager,我想撤消NSManagedObjectContext上的保存操作;我一直在想,这就是NSUndoManager的作用,但似乎撤销保存操作不起作用 例如: [[NSManagedObjectContext MR_contextForCurrentThread] setUndoManager:[NSUndoManager new]]; [[NSManagedObjectContext MR_contextForCurrentThread].undoManager beginUndoGrouping]

我想撤消NSManagedObjectContext上的保存操作;我一直在想,这就是NSUndoManager的作用,但似乎撤销保存操作不起作用

例如:

[[NSManagedObjectContext MR_contextForCurrentThread] setUndoManager:[NSUndoManager new]];
[[NSManagedObjectContext MR_contextForCurrentThread].undoManager beginUndoGrouping];
MyDataObject *mdo = [MyDataObject MR_createInContext:[NSManagedObjectContext MR_contextForCurrentThread]];
mdo.name = @"...";
[[NSManagedObjectContext MR_contextForCurrentThread] save:nil];
[[NSManagedObjectContext MR_contextForCurrentThread].undoManager endUndoGrouping];
[[NSManagedObjectContext MR_contextForCurrentThread].undoManager undo];

但插入并没有撤消。。。难道没有办法做到这一点吗?像事务一样?

是否可以使用子托管对象上下文进行保存(将其向上推送到父对象,但不触及磁盘上的文件),然后在父对象上执行回滚(如果要撤消)

我认为调用
save
就像提交自上次保存以来所做的所有更改,
rollback
就像丢弃它们。一旦您提交了更改,它们就在持久存储中,没有任何东西可以保存事务日志以支持回滚

<>你能解释一下为什么你想在交易过程中想要一个<代码>保存<代码>吗?