1

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

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

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

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

4

1 回答 1

3

这是你想要的?

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

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

于 2013-06-14T12:19:03.953 回答