Доступ к свойствам объектов в NSSet - PullRequest
0 голосов
/ 03 апреля 2012

У меня есть объект с именем Contact. Контакт имеет связь с набором объектов PhoneNumber.

Телефонный номер имеет метку и свойство value (оба указателя NSString).

Как получить набор всех меток телефонных номеров для данного контакта?

Вот код для того, что я хочу сделать, но я думаю, что должен быть более простой способ:

NSSet *phoneNumbersSet = contact.phoneNumbers;
NSArray *phoneNumbersArray = [phoneNumbersSet allObjects];
NSMutableSet *phoneNumberLabelSet = [NSMutableSet setWithCapacity:0];
for (PhoneNumber* phoneNumber in phoneNumbersArray) {
   [phoneNumberLabelSet addObject:phoneNumber.label];
}

1 Ответ

3 голосов
/ 03 апреля 2012
NSSet *phoneNumbersSet = contact.phoneNumbers;
NSSet *phoneNumberLabelSet = [phoneNumbersSet valueForKey:@"label"];

NSSet имеет метод valueForKey: экземпляр, который вызывает valueForKey: для каждого из его членов.Я считаю, что если ваш набор заполнен phoneNumbers, вы можете вызвать valueForKey: @ "label", и он вернет набор с каждой из соответствующих меток phoneNumber.

...