进一步解释NSManagedObject的删除规则Nullify

时间:2013-01-08 00:23:36

标签: objective-c ios core-data nsmanagedobject

这是Apple关于Nullify删除规则的文档:

  

Nullify 将目标对象的反向关系设置为null。例如,如果删除部门,请设置   所有当前成员的部门为null。这才有意义   如果员工的部门关系是可选的,或者您是   确保您之前为每个员工设置新部门   下一次保存操作。

使用此部门< -------->>员工示例,部门的员工由NSSet代表。如果删除员工并且删除规则设置为Nullify,NSSet会发生什么?被删除的员工对象是否已从集合中删除?该集合中对该员工的引用是否为零?整套是否无效?

此外,在这种情况下,为了保持参照完整性,还需要在代码中完成其他任何事情吗?

1 个答案:

答案 0 :(得分:3)

在您的多对一示例中,员工已从NSSet移除。 “设为零”解释是一对一关系所发生的事情。

这与“无行动”规则形成对比,“无行动”规则实际上什么都不做(并且你可能不应该使用),“拒绝”规则,如果关系尚未被填空,则可以阻止删除,以及“级联”规则,它也会删除目标对象。