2011-12-22 51 views
5

我很努力设计一个coreData模型,我只有一种类型的条目叫做“待办事项”。每个待办事宜条目与其他(子)条目具有0,1,2,...或n关系,就像待办事项一样。因此,待办事项条目之间的关系设计了一个具有未定义数量的子节点的树结构。以下图解说明应的情况下(E =核心数据条目):核心数据:如何从一个核心数据条目设计树形数据结构

  E        
      /|\       
     /| \      
     E E E      
     /\    
    / \   
     E  E    
    /|\     
    E E E   

我的猜测是,模型,像在下面的曲线图所示的数据。我没有选择反向关系,因为Xcode与它的树形设计不匹配,形成了多对多的关系。我

enter image description here

另外在data model inspector一种叫 “父条目” 看到了。所以我开始相信我可能需要创建一个名为“To-Do-Child”的第二个条目,它具有相同的属性并将其他条目设置为父条目。该手册告诉我,这可能是走在错误的道路......

问题:

  1. 我怎么能核心数据模型文件中的这种方法的模型?提到的其中一个是正确的吗?

  2. 我将如何获取指定父节点的所有待办事项条目?由于它们来自同一条目,所以我有问题需要解决我想要的确切待办事项子树。

+0

只是链接到这个问题,这是比接受的答案更有用http://stackoverflow.com/questions/16633907/model-a-tree-structure-in-core-data – 2015-06-29 15:32:41

回答

3

我认为你需要parent的关系(目的实体是你做的实体),用作目的地的反比关系。

树顶部的条目对这个关系没有价值。

对于任何待办事项,从childToDos关系返回的集合将包含所有子项。这些都属于同一班级并不重要。

+0

啊哈,好主意。但后来我想到了为什么不定义名为'parent'的第二个关系。如果没有新的属性,是不是也会这样做?那么,与自我关系的第一种方法是正确的方法? – 2011-12-22 18:18:42

+0

正确,那就是我的意思,对不起。我已经更新了答案。 – jrturton 2011-12-22 19:49:27