我在想如果設置NSDictionary
reault類型,並且添加關係會在結果中顯示這些對象。NSDictionary結果類型獲取關係中的對象
示例我有一個帶有toCarparts關係的汽車物件。
carPart對象有名稱,品牌等我只想調出carParts.name。
那麼我可以將實體設置爲汽車,然後搜索toCarParts並只返回名稱?
如果是的話我該怎麼做?
謝謝!
我在想如果設置NSDictionary
reault類型,並且添加關係會在結果中顯示這些對象。NSDictionary結果類型獲取關係中的對象
示例我有一個帶有toCarparts關係的汽車物件。
carPart對象有名稱,品牌等我只想調出carParts.name。
那麼我可以將實體設置爲汽車,然後搜索toCarParts並只返回名稱?
如果是的話我該怎麼做?
謝謝!
只能在propertiesToFetch
使用到一個關係中,例如:
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Car"];
[fetchRequest setResultType:NSDictionaryResultType];
[fetchRequest setPropertiesToFetch:@[@"name", @"toCarParts.name"]];
會工作,如果toCarParts
是一對一的關係。它會返回帶有汽車名稱和相關汽車零件名稱的字典。
它不適用於多對多的關係。
不,您不能只提取實體的單個屬性。
UPDATE
看的像這是錯誤。似乎可以使用NSDictionaryResultType僅獲取一些特定屬性,請檢查this鏈接。也許你的問題可以用這個來解決。
P.S.感謝推動我解決這個問題,在上次Marcus Zarra的書中我沒有發現任何關於此的內容。
好吧,如果我要獲取汽車對象的nsdict版本,但我希望它也能獲取關係? – 2013-03-19 12:19:49
噢,現在我不太確定,我會在一分鐘內刪除我的答案。最近讀完Marcus Zarra關於Core Data的書,看起來像我誤解了一些東西。需要再次查看該書。 – 2013-03-19 12:26:21
它會只返回一部車還是全部? – 2013-03-19 12:53:13
它會在setPropertiesToFetch:(toCarParts.name)''中引發一個異常''對許多關係無效。 – 2013-03-19 13:01:29
@MartinR任何其他選項來獲取一對多關係中的特定屬性? – Leena 2014-11-17 05:52:21