如何节省温度。对象的变化?

时间:2013-06-03 19:46:16

标签: objective-c core-data

我需要一些建议如何处理以下情况。我在核心数据中保存了一个对象图。为简单起见,我想说我有一个User对象(名称,年龄,地址)。地址是另一个具有某些属性的对象。现在,用户可以更改他的地址。如果他改变它我需要记住下一个订单的这些变化。之后,我需要恢复原来的地址。用户也可以随时恢复。我应该在哪里保存这些临时变更?我想过添加一个像ChangedData这样的新实体,但这种感觉不太合适。基本上我需要记住原始对象,如果用户更改它,我需要记住那些时间。我希望我能够很好地表达我的问题。

1 个答案:

答案 0 :(得分:1)

您需要使用与托管对象上下文配对的NSUndoManager。只需将以下代码添加到

即可
- (NSManagedObjectContext *) managedObjectContext 

在您的app委托实施中:

NSUndoManager *undoManager = [[NSUndoManager alloc] init];
[managedObjectContext setUndoManager:undoManager];

然后使用撤消管理器的the methods来撤消和重做上下文的保存。