在Core Data中建模树结构

Jac*_*Lam 7 core-data uitableview ios

我想使用核心数据实现多路树.我的核心数据模型中有一个"计划"实体.

            Plan
           /  |  \
        Plan Plan Plan
     /  | \   |     |   \
   Plan Plan ...
Run Code Online (Sandbox Code Playgroud)

更高层次的计划将与子计划有很多关系.

那我该怎么设置关系呢?

在此输入图像描述

在此输入图像描述

Mar*_*n R 14

我会定义

  • 一个一对多的关系subplans(或children)从计划实体本身,用"删除规则"设置为"级联"
  • 一个一对一的关系superplan(或parent)从计划实体本身,用"删除规则"设置为"废除",
  • 并将它们设置为彼此的反向关系.

如果删除一个Plan对象,则自动删除

  • 由于"级联"删除规则,所有子计划都被删除了
  • 由于"Nullify"删除规则,计划将从其父对象中删除.