如何使用Core Data定义一个只有一种方式的自我关系?

时间:2011-07-31 19:40:30

标签: xcode core-data entity-relationship datamodel

在矢量图形处理程序中,我有一个“组”实体,它指定图形组和其他组。一个组只能属于另一个组,但可以包含许多其他组。这是通过“群体”关系来完成的。

然而,在Xcode数据建模工具中,我无法弄清楚如何做到这一点。我有群组属性,但是当我选择“To-Many Relationship”时,它对很多方面来说,我希望它只是在一方面只有一方。下面是一个如何显示它的图表(突出显示“组”关系):

diagram

有没有办法做我想要的,或者我需要两个关系(“子组”和“超级组”)吗?

1 个答案:

答案 0 :(得分:2)

您需要两个关系,因为每个实际实例都有两个独立的关系。它将属于单个“超级组”,但会有许多“子组”。这些关系的另一端的对象将不是相同的对象。

这与树结构的设置基本相同,其中每个节点都有一个父节点,但有很多子节点。 E.g。

Node{
  parent<<-->Node.children
  children<-->>Node.parent
}

由于每个关系在逻辑上是不同的,因此它们需要在模型中单独定义关系。