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