XCode - 删除核心数据中的相关对象



我有两个实体。 一个是司机,一个是汽车

一个司机可以有很多辆车,一辆汽车只能有一个司机。

这是一种反向关系,双方都是可选的。

当我删除一个司机时,汽车是"孤立的"它仍然存在,但不再有任何相关的司机。

我希望当它的司机不再存在时,这辆车被摧毁。 这可能没有逻辑意义,但这是一个学习练习。

我取消选中汽车实体内关系的可选复选框。 我认为这意味着汽车必须有一个司机才能存在。

当我删除驱动程序对象时,它无法保存上下文。 我收到此错误。

"操作无法完成。(可可错误 1570。UserInfo=0xc586430 {NSValidationErrorObject= (entity: Cars; id: 0xc580d30 ; data: { 驱动程序 = 无; 使 = A; 模型 = B; 年 = 222;})

为什么当两个关系都是可选的时,这仍然有效......但是一旦我更改了关系,它就不再有效了?

为什么不在删除时将驱动程序 -> 汽车关系设置为级联?操作失败的原因与尝试创建没有汽车的驱动程序对象(如果关系是必需的(时发生的情况相同,验证失败。

好的..它与可选或非可选无关。 我这样做是为了让汽车必须有一个司机。 然后我删除了司机,但这违反了规则,因为汽车没有司机。

删除

规则必须设置为级联,以便删除相关汽车。

最新更新