从一组自定义对象中获取一组属性

时间:2015-04-20 13:05:16

标签: objective-c arrays for-loop optimization

我有一系列自定义对象,比如Messages

这些消息具有identifier属性,我想知道从所有NSString获取identifiers数组的最佳方式是什么。

现在,我只是循环遍历所有对象并将其id放在另一个数组中,

- (NSArray*)getIdentifiersOf:(NSMutableArray*)array
NSMutableArray *arrIdentifiers = [[NSMutableArray alloc]init];

for (Message *msg in array){
     [arrIdentifiers addObject:msg.identifier];
}

return (NSArray*)arrIdentifiers;

显然这有效,但看起来多余,我以为你可能会想到别的东西。

我通常只需要发送一个Id的数组作为参数,例如,我正在考虑的事情

myArray[@"identifier"]

可以自动使用数组,但只能为其中的每个对象使用该特定属性。

1 个答案:

答案 0 :(得分:1)

使用

- (id)valueForKey:(NSString *)key:

返回一个数组,其中包含在每个数组对象上使用key调用valueForKey:的结果。

NSArray * arrIdentifiers = [array valueForKey:@"identifier"];