【发布时间】:2023-04-07 00:02:02
【问题描述】:
我有一个简单的数据模型:父实体与子实体具有可选的一对多关系。反向关系(子 -> 父)是强制性的(非可选的)。
删除子对象后,Core Data 拒绝保存,抱怨子实体中缺少必需的属性。如果反向关系是可选的,错误就会消失。
为什么我不能在符合逻辑的情况下建立强制性的反向关系(即一个孩子必须有一个父母)?为什么 Core Data 抱怨 已删除对象的 不一致?这是预期的行为吗?
感谢您的澄清。
编辑:根据要求,我附上了我的测试数据模型的图片:
至于删除代码的问题,没有。这一切都是通过在应用程序窗口 nib 中设置的NSArrayController 绑定完成的。您可以在此处加载测试项目:Parent-child test project。应该提一下,这个项目是基于NSPersistentDocument架构的。
我观察到的行为如下:如果创建了一个没有子级的父级,则文档可以正常保存。如果创建一个子级然后删除,则在尝试保存文档时会出现错误消息:
【问题讨论】:
-
请告诉我们型号,删除代码和错误信息。
标签: macos core-data relationship