1

我有一个名为 ListItem 的自定义 NSObject。我有一个充满 ListItems 的数组。ListItem 的属性之一是它的名称(以及其他信息,如 id、创建日期等)

我的问题:我可以创建一个只包含所有 ListItem 名称的新数组吗?我基本上会留下一个 NSString 的数组。当然我可以简单地创建一个 for 循环,但是有更好的方法吗?

4

1 回答 1

3

就在这里。

NSArray *array = ...
NSArray *names = [array valueForKeyPath:@"@unionOfObjects.name"];

这是一个键值编码 (KVC) 集合运算符。

来自NSHipster

@unionOfObjects / @distinctUnionOfObjects:返回在运算符右侧的键路径中指定的属性中的对象数组。

于 2013-07-23T03:45:02.470 回答