2014-03-27 25 views
0

我有一個聯繫人的關係,有一對多關係的電話號碼。從核心數據顯示一對多爲一對一

但是,我需要在tableView單元格中顯示每個聯繫人的不同電話號碼,所以我不確定在獲取結果後我該怎麼做?

目前,這是我的邏輯,爲不同的電話號碼獲取多個相同的聯繫人。

for (Contact *contact in fetchedRecords) 
    { 
     for (Phone *phone in contact.phoneNumbers) 
     { 
      [multipleContacts addObject:contact]; 
     } 

    } 

但是,我認爲將有更好的方式來獲取這樣的聯繫人記錄,以獲得每個電話號碼條目的結果。

+0

您可以添加更多關於您希望顯示的細節嗎?這聽起來像你想顯示每個具有唯一電話號碼的聯繫人。 –

+0

它更像是顯示每個有號碼的聯繫人,可以是與同一個人不同的號碼。這怎麼能通過NSPredicate實現? – kforkarim

+0

我們可以假設關係是'電話'<<-->'聯繫人'(聯繫人可能有很多電話號碼,但電話號碼只有一個聯繫人)? –

回答

1

最簡單的方法來做你所要求的將是取回Phone對象而不是Contact對象。這樣,tableView中的每一行都將對應一個Phone,然後您可以按照從PhoneContact的反向關係獲取要顯示的名稱。

+0

在這種情況下,反向關係適用於我。謝謝@Clever – kforkarim