从另一个数组中的对象的属性创build一个数组

是否有任何方便的方法来获取一个数组/对象,并创build一个新的数组/包含第一个数组中的每个项目的属性?

例如,一个数组包含Car对象。 我需要一个licensePlates数组,每辆车都有一个NSObject car.licensePlate。

目前我只是迭代通过添加对象到我的可变结果数组的第一个数组,但想知道是否有一个存在的实例化方法(检查NSArray的文档)。

这将返回一个包含myCars数组中每个项目的myCars数组:

 NSArray *licensePlates = [myCars valueForKeyPath:@"licensePlate"] 

如果你只想要独特的项目(例如),你可以做这样的事情:

 NSArray *licensePlates = [myCars valueForKeyPath:@"@distinctUnionOfObjects.licensePlate"]; 

有关更多可能性,请参阅Key-Value编程指南中的Collection Operators文档。