-1

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

4

1 回答 1

1

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

- (NSManagedObjectContext *) managedObjectContext 

在您的应用委托实现中:

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

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

于 2013-06-03T19:56:47.353 回答