【发布时间】:2021-07-15 06:17:03
【问题描述】:
我有两个 nib 文件,每个文件都有自己的窗口,由来自相同核心数据托管对象上下文 (MOC) 的数据填充,但每个都绑定到不同的数组控制器。问题是,当我在一个窗口的数组控制器中删除一个数据对象时,即使在保存通用 MOC 并重新启动程序之后,它仍然存在于另一个窗口的数组控制器中。要永久删除不需要的数据对象,我必须在每个窗口分别删除它。这似乎不是核心数据应该工作的方式。使用相同 MOC 的数组控制器不应该有一个共同的持久数据源吗?
【问题讨论】:
-
是的,使用相同 MOC 和实体的阵列控制器包含相同的数据(如果
fetchPredicate和filterPredicate是nil)。请张贴minimal reproducible example。 -
感谢 Willeke 证实了我的假设,即绑定到公共 MOC 的 NSArrayControllers 应该反映该公共 MOC 的数据。
标签: swift objective-c core-data cascading-deletes nsarraycontroller