从具有多个ivars的数组对象创建单个ivar的数组

时间:2011-03-13 23:38:24

标签: objective-c

如果我有一个具有两个属性“a”和“b”的类,并且我有一个这些类实例的数组。创建仅包含“a”元素的数组的最佳方法是什么。

2 个答案:

答案 0 :(得分:2)

只需迭代类实例并构建新数组:

// Presuming some NSArray * classInstances of type MyClass
NSMutableArray * aProperties = [[[NSMutableArray alloc] 
                                 initWithCapacity:[classInstances count]] 
                                autorelease];
for(MyClass * myInstance in classInstances) {
    [aProperties addObject:[myInstance a]];
}

如果您的类符合a的键值编码,您也可以直接向数组询问值:

NSArray * aProperties = [classInstances valueForKey:@"a"];

答案 1 :(得分:2)

最简单的方法是Key-Value Coding

[yourArray valueForKey:@"a"];