我需要一些建议如何处理以下情况。我在核心数据中保存了一个对象图。为简单起见,我想说我有一个User对象(名称,年龄,地址)。地址是另一个具有某些属性的对象。现在,用户可以更改他的地址。如果他改变它我需要记住下一个订单的这些变化。之后,我需要恢复原来的地址。用户也可以随时恢复。我应该在哪里保存这些临时变更?我想过添加一个像ChangedData这样的新实体,但这种感觉不太合适。基本上我需要记住原始对象,如果用户更改它,我需要记住那些时间。我希望我能够很好地表达我的问题。
答案 0 :(得分:1)
您需要使用与托管对象上下文配对的NSUndoManager。只需将以下代码添加到
即可- (NSManagedObjectContext *) managedObjectContext
在您的app委托实施中:
NSUndoManager *undoManager = [[NSUndoManager alloc] init];
[managedObjectContext setUndoManager:undoManager];
然后使用撤消管理器的the methods来撤消和重做上下文的保存。