有没有办法为给定对象制定Core Data谓词,表示单链表的头部,以及该列表中的所有其他对象?
例如,我有对象,每个对象都与另一个对象(比如nextObject
)有关系,我想要一个指定对象的谓词,以及遍历nextObject
可以到达的所有其他对象(直到它是nil
)。
澄清:
我正在将这些用于UITableView
的{{1}},因此这些必须是fetch的一部分,而不是我在代码中迭代的内容。
答案 0 :(得分:1)
您不会对链表使用谓词。相反,您只需要从感兴趣的第一个对象开始,然后通过调用nextObject
来跟踪关系,直到找到没有nextObject
值的对象。
只需查找previousObject==nil
和nextObject==nil
,您就可以在抓取中找到包含谓词的第一个和最后一个对象。
谓词不理解任意长的关系链。他们理解像enity1.entity2.entity3
但不是nextObject.nextObject.nextObject...
这样的链,因为他们无法知道何时停止。