从NSManagedObjects数组中查找属于关系的所有对象

时间:2013-06-14 11:44:04

标签: iphone ios sql ipad core-data

我有一个NSManagedObjects数组。让我们称之为物品。还有两个实体称为Group和SubGroup。我在Items和Group以及Items和SubGroup之间有多对一的关系。因此,一个Item可以属于一个组,一个组对象可以指向该组中的所有项目对象。

  Items
    ------
    group <<---> Group
    subgroup <<---> SubGroup

根据用户选择我查询了Db,我有与查询匹配的项目列表。我们称之为resultArray,它存储所有Items对象。  查询是在Items实体上执行的。  我还需要显示与resultArray中的Item对象关联的组和子组的详细信息(计数,名称)。

蛮力方法是遍历并使用字典来查找唯一的  组和子组对象。我相信会有一个更好的方法,然后这个,就是找不到它。

1 个答案:

答案 0 :(得分:3)

这是你在找什么?

NSArray *items = ...; // your array of Item objects
NSArray *groups = [items valueForKeyPath:@"@distinctUnionOfObjects.group"];

使用“键值编码”,它返回与其相关的唯一组列表 给定的项目。