Core data 从多个核心数据中恢复一个提取的实体

Core data 从多个核心数据中恢复一个提取的实体,core-data,nsundomanager,Core Data,Nsundomanager,这个问题使我无法理解如何使用核心数据撤消管理器以及如何将NSManagedObject恢复到编辑之前的状态 我只是在学习如何处理核心数据。我用动态访问器设置了NSManagedObject类。我执行一个获取,返回几个NSManagedObject实体结果。来自每个实体结果(名字、姓氏)的内容被放入表视图中,然后用户从表中选择一个用于详细视图,然后进行编辑 详图视图控制器接收指向选定NSManagedObject实体的指针。当用户编辑字段时,NSManagedObject实体中相应的属性值将更新。

这个问题使我无法理解如何使用核心数据撤消管理器以及如何将NSManagedObject恢复到编辑之前的状态

我只是在学习如何处理核心数据。我用动态访问器设置了NSManagedObject类。我执行一个获取,返回几个NSManagedObject实体结果。来自每个实体结果(名字、姓氏)的内容被放入表视图中,然后用户从表中选择一个用于详细视图,然后进行编辑

详图视图控制器接收指向选定NSManagedObject实体的指针。当用户编辑字段时,NSManagedObject实体中相应的属性值将更新。这似乎是管理这些变化的最干净的方法

现在,我不想使用save提交更改,而是想提供一个取消编辑功能,可以回滚到该实体的数据库中的内容。我真的只想恢复一个实体,而不是执行整个重新蚀刻

我尝试了回滚和NSUndoManager(使用beginUndoGrouping和endUndoGrouping),但都不起作用。我想我不明白回滚真正应该做什么

但在任何情况下,我仍然希望仅恢复单个实体中的属性值(采用延迟方法仅获取所需的内容,即一个实体),以便我的详细视图控制器可以用正确的信息重新填充其视图。现在它正在使用NSManagedObject实体值,其中包含已取消的编辑值

我想我可以通过创建NSManagedObject的副本来启动编辑过程。如果按下“取消编辑”按钮,我可以将其复制回原稿。(我甚至可以通过移动指针将原始文件替换为副本。但由于指针实际上已通过多个对象,我不确定如何管理副本上的保留编号。)

有人有其他建议吗


谢谢

使用
回滚
应该可以实现您想要的,我不确定它不能实现什么。这可能是一个实现细节错误

通过调用上下文的
updateobjects
,可以找到已更新但尚未保存的特定托管对象