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