Man*_*uel -1 objective-c nsarray
我有一个班级人物:
@interface Person : NSObject
{
NSInteger *_age
NSString *_name;
}
@property (nonatomic, strong) NSInteger *age;
@property (nonatomic, strong) NSString *name;
@end
Run Code Online (Sandbox Code Playgroud)
然后我有一个NSArray of Persons:
Person *personA;
Person *personB;
allPersons = @[personA, personB];
Run Code Online (Sandbox Code Playgroud)
如何获取所有名称的数组:
allPersonNames = @[Max, Bob];
Run Code Online (Sandbox Code Playgroud)
除了循环遍历所有对象和addObject name属性到NSMutableArray之外,是否可以使用单行代码?
谢谢
您可以使用键值编码创建名称数组,如下所示:
NSArray *names = [allPersons valueForKey:@"name"];
Run Code Online (Sandbox Code Playgroud)
这在" 键 - 值编码编程指南 "的"使用键值编码获取属性值"部分的最后一段中进行了介绍:
如果为包含多对象属性的键的键路径返回一个值,并且该键不是路径中的最后一个键,则返回的值是一个集合,其中包含右侧键的所有值.很多关键.例如,请求键路径的值
transactions.payee返回包含所有事务的所有收款人对象的数组.这也适用于密钥路径中的多个数组.关键路径accounts.transactions.payee将返回一个数组,其中包含所有帐户中所有交易的所有收款人对象.
| 归档时间: |
|
| 查看次数: |
101 次 |
| 最近记录: |