如何解释XCode中Core数据中的删除规则?

时间:2015-04-03 07:22:08

标签: ios xcode core-data

我有例子,如下图所示: enter image description here

我该如何理解这一点?

删除PBOLocationPBORole会发生什么?
我删除PBORolePBOLocation会发生什么?
当我删除它们之间的关系时,PBORole会发生什么?
当我删除它们之间的关系时,PBOLocation会发生什么?

1 个答案:

答案 0 :(得分:1)

图片中的删除规则为Nullify。因此,“没有”会发生。

删除Role后,location.roles将减少一个 删除Location后,role.location将为nil 当您通过设置role.location = nil来删除关系时,location.roles将减少一个 当您从role缩减location.roles时,role.location将为nil

如果您选择Cascade作为删除规则,则会变得更有趣:

当您从任一方向移除关系时,会发生如上所述的相同情况。 如果您在Cascade上为roles关系设置Location规则,则删除Location将删除Role中的所有roles个对象。
如果您在Cascade中为location设置Role规则,则删除Role将删除其location(如果反向关系规则为Cascade如上面的规则,所有其他roles也将被删除)。

Relationship Delete Rules下的核心数据编程指南中阅读所有相关内容。