NSDictionary结果类型在关系中获取对象

时间:2013-03-19 11:54:04

标签: ios core-data nsdictionary

我想知道是否设置NSDictionary reault类型,并且添加一个关系会在结果中显示这些对象。

示例我有一个带有toCarparts Relationship的汽车对象。

carPart对象有名称,品牌等。我只是想调出carParts.name。

那么我可以将实体设置为汽车,然后搜索toCarParts并仅返回名称吗?

如果是这样,我该怎么做?

谢谢!

2 个答案:

答案 0 :(得分:6)

您只能在propertiesToFetch中使用 to-one 关系,例如:

NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Car"];
[fetchRequest setResultType:NSDictionaryResultType];
[fetchRequest setPropertiesToFetch:@[@"name", @"toCarParts.name"]];
如果toCarParts是一对一的关系,那么

会起作用。它会返回带有汽车名称和相关汽车零件名称的字典。

它不适用于 to-many 关系。

答案 1 :(得分:1)

不,您无法仅获取实体的单个属性。

<强>更新

看起来像这是错误的。似乎可以使用NSDictionaryResultType仅获取一些特定属性,请检查this链接。也许你的问题可以用这个来解决。

P.S。感谢你推动我解决这个问题,我在上一篇Marcus Zarra的书中没有找到任何相关内容。