核心数据和NSPredicate:关系

时间:2013-05-08 22:47:17

标签: xcode cocoa-touch core-data nspredicate nsmanagedobject

我有一个基本实体,如下所示:

enter image description here

实体是整棵树中的基本实体。每个GPNode都有一个父GPNode和一组子节点(GPNode)。从理论上讲,层次结构可能是无穷无尽的。

我想使用NSPredicate进行查询,该查询向我提供特定GPNode的所有儿童和儿童等。由于未定义层次结构中的步骤数,因此无法使用谓词中的子查询。任何想法如何实现我的目标?提前谢谢。

1 个答案:

答案 0 :(得分:2)

您不应该为此使用谓词。如果需要,使用谓词来查找您感兴趣的父节点。一旦拥有父节点,您应该使用节点上定义的关系来导航层次结构。如果需要获取所有子节点的数组,则应编写递归算法来遍历层次结构并构建列表。