乐趣区

Core-Data-的-Delete-Rule-详解

Core Data 是苹果原生自带的数据库管理框架,功能强大但使用起来也很复杂。

在配置 Core Datarelationship 时有一个属性叫 Delete RuleDelete Rule 表明了数据对象在被删除时,和他有 relationship 的其他数据对象的处理规则。

Deny

除非有 relationship 的其他数据对象全部被删除,否则该数据对象将无法被删除。

你在撤销一个事业部门前,需要先将部门员工全部 fire。

Cascade

当你删除一个数据对象时,有 relationship 的其他数据对象将一并被自动删除。

你撤销了一个事业部门,该部门的员工在同一时间一并被 fire。

Nullify

当你删除一个数据对象时,有 relationship 的其他数据对象的 relationship 指针将被设置为 null

只有当 relationshipOptional 时,该设置才是有意义的。否则,你必须在删除前,为有 relationship 的数据对象手动设置新的 relationship

No Action

正如其名。在删除时,不做对 relationship 任何操作。

注意 ⚠️

当你使用这种删除规则时,所有的 relationship 都需要你手动管理。

退出移动版