从NSArray获取NSArray的单个属性

Has*_*han 9 iphone objective-c iphone-sdk-3.0 cocoa-design-patterns ios4

我正面临一个非常规律​​的情况.

我有一个NSArray,它有一个自定义类型的对象,比如Person.Person类具有以下属性:firstName,lastName和age.

如何从NSArray中获取仅具有Person对象的NSArray?

就像是:

NSArray *people;
NSArray *firstNames = [people getArrayOfAttribute:@"firstName" andType:Person.Class]
Run Code Online (Sandbox Code Playgroud)

我有一个编写for循环的解决方案,并填写firstNames数组,但我不想这样做.

Jos*_*erg 22

NSArray将使用KVC为您处理此问题

NSArray *people ...;
NSArray *firstName = [people valueForKey:@"firstName"];
Run Code Online (Sandbox Code Playgroud)

这将为您提供数组中每个条目的firstName值数组