目标 C语言 进一步解释 NSManagedObject 的删除规则 Nullify



以下是Apple关于无效删除规则的文档:

Nullify设置目标对象的反向关系为null。例如,删除某个部门,则需要设置部门中所有当前成员为null。这才说得通如果员工的部门关系是可选的,或者如果您确保您之前为每个员工设置了一个新的部门下一个保存操作。

以department <-------->> employee为例,该部门的员工由NSSet表示。如果我删除一个雇员并且删除规则被设置为无效,NSSet会发生什么?被删除的雇员对象是否从集合中删除?对集合中那个雇员的引用变成nil了吗?是不是整个集合都无效了?

另外,在这种情况下,为了维护引用完整性,还需要在代码中做些什么吗?

在您的多对一示例中,该员工从NSSet中删除。"设为nil"的解释是一对一关系的结果。

这与"No Action"规则形成对比,"No Action"规则实际上什么都不做(您可能不应该使用),"Deny"规则,如果关系还没有被删除,它会阻止删除,以及"Cascade"规则,它也删除目标对象。

最新更新