2013-11-25 82 views
1

我正在使用核心數據框架並希望使用關係獲取數據。 我有兩個名爲User和Company的實體具有user_name和company_name字段。我也有許多名字rel_user-> user的關係。提取核心數據中的關係數據

現在,我想這樣的

User *userObj=(User*)[selectedData objectAtIndex:indexPath.row]; 
NSSet *resultData = [userObj valueForKeyPath:@"rel_user.user"]; 
    NSLog(@"subject -> %@",[resultData description]); 

我要顯示與用戶的公司名稱來獲取數據。

回答

1

rel_user的反比關係的名字是什麼?假設它是rel_company和用戶 - >公司的關係是一對一,你只需使用

user.rel_company.company.name 

user是一個特殊的User對象。

專門命名你的關係沒有任何好處rel - 某事。與用戶(因爲它將是一家持有公司的財產)和users關係在公司上有很好的關係。然後,您可以從名稱中瞭解該屬性將包含哪些內容以及它是一對多還是多對多的關係。

+0

您好,感謝您的回覆,但我無法找到與用戶對象的關係屬性。我怎麼能得到那我需要設置父級? – RJ168

+0

您可以在覈心數據模型編輯器中自己定義關係。如果你不創建子類,你必須使用valueForKeyPath。 – jrturton

0

您可以通過關係名稱獲取相關公司名稱。

用戶userObj =(用戶)[selectedData objectAtIndex:indexPath.row];

的NSString *的companyName = userObj.RELATION_NAME.company_name

RELATION_NAME被用於從用戶實體連接到公司實體。

希望這會有所幫助。