核心数据中的嵌套问题
Posted
技术标签:
【中文标题】核心数据中的嵌套问题【英文标题】:Nesting Issue In Core Data 【发布时间】:2014-01-25 12:57:56 【问题描述】:我创建了一个数据库,我必须在其中存储各种类别的联系人。当我必须在以下类别中创建子类别时,问题就出现了:-
类别-> 子类别-> 联系人
但类别也可以有联系人,如
类别 -> 联系人
子类别也可以有联系人。我认为将使用嵌套在核心数据中。我怎样才能达到这种关系?如何将子类别保存到类别中,即使它们属于同一实体?
我在这里附上了我的核心数据实体关系模型:-
【问题讨论】:
【参考方案1】:在 CoreDate 中创建“自我”引用关系没有问题。 换句话说,一个实体可能有自己的关系。
Category
和 SubCategory
之间的唯一区别是 parent
实体的存在。
因此无需为该部分定义新实体。
您可以简单地定义一个关系:
Category
.parent
类型为 Category
(在这种情况下是一对一)
和一个相反的关系:
Category
.subCategories
类型为 NSSet
(在本例中为对多),包含 Category
对象。
您可以在界面构建器中进行所有设置。
现在,由于 Category
与 Contact
有关系,所以所有“子类别”都将具有这种关系。
如果您希望您的“子类别”具有其他属性,只需创建一个新实体并使其继承自您的 Category
实体(保留我描述的上述设置)。
并向其添加新属性。
【讨论】:
所以你的意思是我从 Category 本身创建到同一个实体 Category 的关系?以上是关于核心数据中的嵌套问题的主要内容,如果未能解决你的问题,请参考以下文章