我创建了一个数据库,我必须在其中存储各种类别的联系人。当我必须在类别中创建子类别时会出现问题: -
类别 - > 子类别 - > 联系人
但类别也可以有像
这样的联系人类别 - >联系人
子类别也可以有联系人。我认为将使用核心数据中的嵌套。我怎样才能实现这种关系?如何将子类别保存到类别中,即使它们属于同一个实体?
我在这里附加了我的核心数据实体关系模型: -
答案 0 :(得分:1)
在CoreDate中创建“自我”引用关系没有问题
换句话说,一个实体可能有自己的关系。
Category
和SubCategory
之间唯一的区别在于parent
实体的存在。
因此,无需为该部分定义新实体。
您可以简单地定义关系:
Category
。parent
Category
类型(在这种情况下说一对一)
和反向关系:
Category
。subCategories
类型NSSet
(在本例中为to-many),包含Category
个对象。
您可以在界面构建器中设置所有内容。
现在,由于Category
与Contact
有关系,所以所有“子类别”都会有这种关系。
如果您希望“子类别”具有其他属性,只需创建一个新实体,使其从Category
实体继承(保持上述设置)。
并添加新属性。