создать массив одного ивара из объектов массива с несколькими иварами - PullRequest
3 голосов
/ 14 марта 2011

если у меня есть класс с двумя свойствами "a" и "b", и у меня есть массив этих экземпляров класса. Каков наилучший способ создать массив только из элементов «а».

Ответы [ 2 ]

2 голосов
/ 14 марта 2011

Самый простой способ - Кодирование значения ключа :

[yourArray valueForKey:@"a"];
2 голосов
/ 14 марта 2011

Просто переберите экземпляры класса и создайте новый массив:

// 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"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...