2012-05-17 2 views
2

Если у вас есть NSSet с объектами типа автомобиля. Автомобиль имеет два свойства: NSString * name, NSInteger speed Вы хотите, чтобы NSS, содержащий только NSStrings для названий автомобилей.Возможно получить NSSet с переменными из NSSet с объектами?

Как я могу сделать это без повторения каждого объекта и помещения его в изменяемый набор?

ответ

2

Вы можете использовать key value coding.

NSSet *namesOfCars = [setOfCars valueForKeyPath:@"name"]; 
+0

Есть ли какая-либо конкретная причина, по которой вы выбрали 'valueForKeyPath:' over' valueForKey: 'в этом случае? –

+0

В моем исходном тестовом коде использовался оператор [collection operator] (https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/KeyValueCoding/Articles/CollectionOperators.html#//apple_ref/doc/uid/ 20002176-BAJEAIEE), который требует 'valueForKeyPath:'. Поэтому для этого примера нет конкретной причины. – Joe

Смежные вопросы