0

我有一个名为 Contact 的对象。联系人与一组 PhoneNumber 对象有关系。

电话号码有一个标签和一个值属性(都是 NSString 指针)。

如何获取给定联系人的一组所有电话号码标签?

这是我想做的代码,但我认为必须有一个更简单的方法:

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

1 回答 1

3
NSSet *phoneNumbersSet = contact.phoneNumbers;
NSSet *phoneNumberLabelSet = [phoneNumbersSet valueForKey:@"label"];

NSSet 有一个 valueForKey: 实例方法,它在它的每个成员上调用 valueForKey:。我相信,如果您的集合中充满了电话号码,您可以调用 valueForKey:@"label" ,它将返回一个包含每个电话号码各自标签的集合。

于 2012-04-02T23:00:53.947 回答