【发布时间】:2015-09-13 12:48:04
【问题描述】:
我在 MagicalRecord 提供的默认 MOC 上设置了 NSUndoManager。
[NSManagedObjectContext MR_defaultContext].undoManager = [[NSUndoManager alloc] init];
当用户在我的表格视图中滑动删除时,我只需删除对象并将更改持久保存到根上下文:
[MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) {
NSManagedObject *model = [modelFromMainThread MR_inContext:localContext];
[model MR_deleteEntityInContext:localContext];
}];
当用户摇动设备以撤消删除时,我只需调用[defaultContext undo]。
这工作得很好,对象复活,NSFetchedResultsController 将其拾取并添加回表格视图。
但是,当我编辑复活的对象时会出现问题。一旦我保存它,它就会再次消失。
我在这里想念什么让它正常工作吗?
我是否必须将撤消操作保留回根上下文?
【问题讨论】:
-
是的,一定要坚持。本质上,您应该执行与删除它时相同的操作。
标签: ios objective-c core-data magicalrecord