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