我有一个名为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];
}
答案 0 :(得分:3)
NSSet *phoneNumbersSet = contact.phoneNumbers;
NSSet *phoneNumberLabelSet = [phoneNumbersSet valueForKey:@"label"];
NSSet有一个valueForKey:instance方法,它在每个成员上调用valueForKey :.我相信如果你的套装中装满了phoneNumbers,你可以调用valueForKey:@“label”,它将返回一个包含每个phoneNumber各自标签的集合。