如何在CoreData中为Folder实体创建同类型一对多关系?
CoreData 中 Folder 实体自关联一对多关系的创建方法
操作步骤:
- 打开你的CoreData模型文件(
.xcdatamodeld),选中Folder实体。 - 在实体的Relationships区域点击
+号,新建一个关系:- 将关系命名为
folders(代表当前文件夹包含的子文件夹集合)。 - 在Destination下拉菜单中选择
Folder实体(因为是自关联关系)。 - 将Type设置为
To Many(一个父文件夹可以对应多个子文件夹)。
- 将关系命名为
- 调整反向关系:
- 此时你看到的反向属性默认是
folders(和当前关系同名),这不符合需求,需要手动创建正确的反向关系。 - 点击Inverse下拉菜单,选择「Create new Relationship」,命名这个新关系为
folder(代表子文件夹所属的父文件夹)。 - 选中刚创建的
folder关系,将它的Type设置为To One(一个子文件夹只能属于一个父文件夹)。 - 回到
folders关系,确认它的Inverse已选择为folder,完成双向关联配置。
- 此时你看到的反向属性默认是
补充说明:
你还可以根据业务需求设置Delete Rule:
- 若选择
Cascade:删除父文件夹时,所有关联的子文件夹也会被删除。 - 若选择
Nullify:删除父文件夹时,子文件夹的folder属性会被置为nil。
内容的提问来源于stack exchange,提问作者Francesco Leoni
相关产品推荐
相关产品推荐

