2011-11-04 87 views
0

我有兩個實體如下圖。如何獲取Trip的所有Node?我如何指定我想要獲取的Trip取得一個多對象

enter image description here

+0

你,否則已經擁有核心數據的設置和管理對象範圍內? – isaac

+0

是的。我也有一個表格視圖,顯示按照'timeStarted'排序的旅行行程列表,但我希望能夠使用行程日期點擊該單元格並轉到包含文本視圖的其他視圖,以便我可以看到所有在那次旅行中保存的節點。 – Baub

+1

請參閱下面的擴展答案,瞭解如何使用objectAtIndexPath獲取您的Trip的超級簡單方法: – isaac

回答

1

假設你有一個管理對象上下文,你會獲取一組使用讀取的結果控制器跳閘的。您可以將一個謂詞放在一個抓取中,然後您只會找回您匹配的記錄。您需要查看NSFetchedResultsController上的文檔,以瞭解如何從CoreData獲取所需的Trip。

一旦你有旅行,很容易得到你的節點。致電:

[trip nodesInTrip] 

您會收到回覆。

如果您使用的是表視圖,那就更簡單了(這裏假設你的fetchedResultsController是你的意見表中的數據源):

-(void)didSelectRowAtIndexPath:indexPath { 

    Trip *selectedTrip = [[fetchedResultsController fetchedObjects] objectAtIndexPath:indexPath]; 
    NSArray *arrayOfNodes = [selectedTrip nodesInTrip]; 
+0

這正是我所需要的。謝謝! – Baub

+0

你的編輯也有幫助。你真棒。謝謝! – Baub