我需要多个上下文来更新独立对象吗?
Posted
技术标签:
【中文标题】我需要多个上下文来更新独立对象吗?【英文标题】:Do I need multiple contexts to update independent objects? 【发布时间】:2017-01-28 21:21:28 【问题描述】:我有一个视图控制器,它更新从前面的表视图中选择的单个托管对象(A 类)。但是,VC 上有一个按钮,它加载另一个视图控制器来更新第二个托管对象(B 类)。两个视图控制器都以正常方式具有保存和取消按钮。
我的要求是我可以提交(保存上下文)对 B 的更改并展开 VC 以继续对 A 进行编辑。A 更改可能会被保存或取消,但我希望 B 保持更改。
从概念上讲,这似乎需要同一级别的独立上下文。即我不能为 B 使用子上下文,因为如果取消 A 更新,这些更改仍然会回滚。
我可以创建两个主要上下文,还是需要创建两个主要上下文的子上下文?然后,我可以根据需要保存或回滚两个子上下文并保存主上下文。有没有更好的方法来做到这一点?
谢谢,
朱利安
【问题讨论】:
【参考方案1】:因为每个对象的更改都可以取消,但在其他方面是独立的。您将希望为它们中的每一个使用主要上下文的子上下文。上下文虽然不便宜,但也不是特别昂贵。您使用子上下文来轻松取消更改是一种标准且受鼓励的模式。
【讨论】:
我就是这么想的。谢谢 如果您对我的回答感到满意,那么您应该考虑接受我的回答,方法是单击上下箭头旁边的灰色复选标记。以上是关于我需要多个上下文来更新独立对象吗?的主要内容,如果未能解决你的问题,请参考以下文章
核心数据:具有多个上下文的独立持久存储与具有单个上下文的独立持久存储