我有一个视图控制器,它可以更新从前面的表视图中选择的单个托管对象(类型A)。但是,VC上有一个按钮,用于加载另一个视图控制器以更新第二个管理对象(类型B)。两个视图控制器都以正常方式保存和取消按钮。
我的要求是我可以提交(保存上下文)对B的更改并解除VC以继续编辑为A. A更改可能会被保存或取消但我希望B保持更改。
从概念上讲,这似乎需要同一级别的独立背景。即我不能为B使用子上下文,因为如果A更新被取消,这些更改仍然会被回滚。
我可以创建两个主要上下文,还是需要创建主要上下文的两个子元素?然后,我可以根据需要保存或回滚两个子上下文,并保存主上下文。有更好的方法吗?
谢谢,
儒略
答案 0 :(得分:0)
因为每个对象的更改都可以取消,但在其他方面是独立的。您将希望为每个主要上下文使用子上下文。上下文虽然不便宜,但也不是特别昂贵。您使用子上下文来轻松取消更改是一种标准和鼓励模式。