gpt4 book ai didi

core-data - NSManagedObjectContext : undo save-operation?

转载 作者:行者123 更新时间:2023-12-01 12:53:52 25 4
gpt4 key购买 nike

我想撤消对 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 就像丢弃它们。一旦您提交了更改,它们就会保存在持久存储中,并且不会保留事务日志来支持回滚。

您能否详细解释一下为什么您希望在交易过程中进行保存

关于core-data - NSManagedObjectContext : undo save-operation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10755332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com