有没有方便的方法来获取一个数组/对象集并创建一个新的数组/集,其中包含第一个数组中每个项目的某些属性?
例如,一个数组包含 Car 对象。我需要一个 licensePlate 数组,其中每辆车都有一个 NSObject car.licensePlate。
目前我只是遍历第一个数组,将对象添加到我的可变结果数组中,但想知道是否存在为此的实例化方法(检查了 NSArray 的文档)。
有没有方便的方法来获取一个数组/对象集并创建一个新的数组/集,其中包含第一个数组中每个项目的某些属性?
例如,一个数组包含 Car 对象。我需要一个 licensePlate 数组,其中每辆车都有一个 NSObject car.licensePlate。
目前我只是遍历第一个数组,将对象添加到我的可变结果数组中,但想知道是否存在为此的实例化方法(检查了 NSArray 的文档)。
这将返回一个数组,其中包含数组中licensePlate
每个项目的值myCars
:
NSArray *licensePlates = [myCars valueForKeyPath:@"licensePlate"]
如果您只想要独特的项目(例如),您可以执行以下操作:
NSArray *licensePlates = [myCars valueForKeyPath:@"@distinctUnionOfObjects.licensePlate"];
有关更多可能性,请参阅Key-Value Coding Programming Guide中的Collection Operators文档。