撤消视图控制器中所做的所有更改

时间:2012-05-01 15:52:40

标签: iphone ios core-data nsmanagedobjectcontext nsundomanager

是否可以撤消视图控制器中所做的所有更改,而不会影响其父视图控制器中所做的更改?顺便说一句。它们具有相同的managedObjectContext。 PS。我有两个实体A和B.A与B有多对多的关系。视图控制器VCA用于在A中执行一些更改。视图控制器VCB用于执行B中的一些更改.VCA是VCB的父视图控制器。

2 个答案:

答案 0 :(得分:1)

您应该为子视图控制器创建新的NSManagedObjectContext并将其附加到它。 NSManagedObjectContext非常轻,并且成本不高。

答案 1 :(得分:1)

无需创建新上下文。离开子视图控制器时,您可以选择

[managedObjectContext save:&error];

[managedObjectContext rollback];

在后一种情况下,所有新实体实例,数据修改等都将被丢弃。