我有一个名为 ListItem 的自定义 NSObject。我有一个充满 ListItems 的数组。ListItem 的属性之一是它的名称(以及其他信息,如 id、创建日期等)
我的问题:我可以创建一个只包含所有 ListItem 名称的新数组吗?我基本上会留下一个 NSString 的数组。当然我可以简单地创建一个 for 循环,但是有更好的方法吗?
我有一个名为 ListItem 的自定义 NSObject。我有一个充满 ListItems 的数组。ListItem 的属性之一是它的名称(以及其他信息,如 id、创建日期等)
我的问题:我可以创建一个只包含所有 ListItem 名称的新数组吗?我基本上会留下一个 NSString 的数组。当然我可以简单地创建一个 for 循环,但是有更好的方法吗?
就在这里。
NSArray *array = ...
NSArray *names = [array valueForKeyPath:@"@unionOfObjects.name"];
这是一个键值编码 (KVC) 集合运算符。
来自NSHipster:
@unionOfObjects / @distinctUnionOfObjects:返回在运算符右侧的键路径中指定的属性中的对象数组。