Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 核心数据:如何从一个核心数据条目设计树形数据结构_Iphone_Ios_Database_Xcode_Core Data - Fatal编程技术网

Iphone 核心数据:如何从一个核心数据条目设计树形数据结构

Iphone 核心数据:如何从一个核心数据条目设计树形数据结构,iphone,ios,database,xcode,core-data,Iphone,Ios,Database,Xcode,Core Data,我正在努力设计一个coreData模型,在这个模型中,我只有一种类型的条目叫做“To Do”。每个待办事项都有0、1、2、,或n与其他(子)条目的关系,就像这样。因此,To-Do条目之间的关系设计了一个具有未定义数量的子节点的树结构。下图应说明该情况(E=核心数据输入): 我的猜测是对数据进行建模,如下图所示。我没有选择反向关系,因为Xcode利用它建立了一个多对多关系,这与树设计不匹配 我还在数据模型检查器中看到了一个称为“父项”的东西。所以我开始相信我可能必须创建第二个名为“ToDoChi

我正在努力设计一个
coreData
模型,在这个模型中,我只有一种类型的条目叫做“To Do”。每个待办事项都有0、1、2、,或n与其他(子)条目的关系,就像这样。因此,To-Do条目之间的关系设计了一个具有未定义数量的子节点的树结构。下图应说明该情况(E=核心数据输入):

我的猜测是对数据进行建模,如下图所示。我没有选择反向关系,因为Xcode利用它建立了一个多对多关系,这与树设计不匹配

我还在
数据模型检查器
中看到了一个称为“父项”的东西。所以我开始相信我可能必须创建第二个名为“ToDoChild”的条目,并使用相同的属性将另一个条目创建为父条目。手册告诉我这可能是一条错误的道路

问题:

  • 如何在核心数据模型文件中对这种方法进行建模?上述方法之一正确吗

  • 我如何才能获取指定父节点的所有待办事项条目?因为它们来自同一个条目,所以我无法准确地处理我想要的待办事项子树


  • 我认为您需要一个
    父关系
    (目标实体是您的待办实体),它作为反向关系的目标

    对于此关系,树顶部的条目的值为零


    对于任何待办事项,从childToDos关系返回的集合将包含所有子项。它们是否属于同一类并不重要

    啊哈,好主意。但我突然想到,为什么不定义第二个关系,名为
    parent
    。在没有新属性的情况下,这不是也能起到作用吗?所以第一种处理自我关系的方法是正确的方法?对,这就是我的意思,对不起。我已经更新了答案。只是链接到这个问题,它比公认的答案有用一点
                E                            
               /|\                        
              / | \                       
             E  E  E                     
            / \               
           /   \         
          E     E               
         /|\                   
        E E E