0

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

4

2 回答 2

1

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

于 2012-05-01T22:09:22.437 回答
1

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

[managedObjectContext save:&error];

或者

[managedObjectContext rollback];

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

于 2012-05-01T22:32:58.357 回答