2011-04-11 26 views
0

有沒有一種方法來爲給定的對象表示一個核心數據謂詞,表示一個單獨鏈表的頭部以及該列表中的所有其他對象?鏈表中的所有對象是否存在覈心數據謂詞?

例如,我有對象,每個對象都有到另一個對象的關係(比如nextObject),我想對於一個指定的對象和所有其他對象通過遍歷nextObject(直到nil)到達的謂語。

澄清

我使用這些爲UITableViewNSFetchedResultsController,所以這些必須的獲取,不是我的代碼遍歷部分。

回答

1

您不會爲鏈接列表使用謂詞。相反,您只需從第一個感興趣的對象開始,通過調用nextObject來執行關係,直到找到沒有nextObject值的對象。

只需查找previousObject==nilnextObject==nil,就可以通過謂詞找到第一個和最後一個對象。

謂詞不理解任意長的關係鏈。他們瞭解像enity1.entity2.entity3但不是nextObject.nextObject.nextObject...,因爲他們無法知道什麼時候停止。

+0

對不起,我最初的問題並不清楚:我使用這些用於UITableView的NSFetchedResultsController,因此這些需要成爲獲取的一部分,而不是我在代碼中迭代的東西。 – orome 2011-04-11 22:30:29

+0

謂詞求值爲布爾表達式,所以你真的不能有關於鏈表的真或假陳述。排序是任意的,所以沒有什麼可以測試的。 nextObject只是nextObject。 – TechZen 2011-04-12 20:03:15