0

Contactというオブジェクトがあります。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: インスタンス メソッドがあります。セットが phoneNumbers で満たされている場合、valueForKey:@"label" を呼び出すことができ、phoneNumber のそれぞれのラベルを含むセットが返されると思います。

于 2012-04-02T23:00:53.947 に答える