一个常见的场景是有一个允许添加或编辑底层模型的视图,我们可以简单地使用 a 获取视图,如果为 nilinitWithObject:(MyManagedObject*)object
则创建一个新视图。object
现在离开视图时,我们可以询问ManagedObjectContext
它是否脏,但是我们如何知道它是因为object
被修改了,还是因为其他objects
地方可能已经被修改了?
如果我们想为用户提供一个cancel
选项,如何rollback
仅对当前进行更改object
(并删除object
如果它只是在此视图中新创建的?)
是否建议使用多个ManagedObjectContext
s?(每个视图一个?——在这种情况下,同步可能会成为一个问题,不是吗?)或者应该使用UndoManager
? 这可以使用来实现undoGroups
吗?