1

Contacts Framework提供了一种这样的标签phoneNumbers

CNLabelPhoneNumberiPhone, CNLabelPhoneNumberMain,CNLabelPhoneNumberPager和其他。

for contact in self.contact.phoneNumbers {
            if contact.label == CNLabelPhoneNumberiPhone {
                self.phoneNumberTextField.text = (contact.value as! CNPhoneNumber).stringValue
                break
            }
        }

但它们是有限的。自定义标签没有任何选项phoneNumbers。我可以在 上显示自定义标签phoneNumbersContacts Framework

` 如果 !self.contact.phoneNumbers.isEmpty {

        for contact in self.contact.phoneNumbers {

           switch contact.label {
            case CNLabelHome:
                self.phoneNumberTextField.text = (contact.value as! CNPhoneNumber).stringValue
            case CNLabelWork:
                self.phoneNumberTextField.text = (contact.value as! CNPhoneNumber).stringValue
            case CNLabelOther:
                self.phoneNumberTextField.text = (contact.value as! CNPhoneNumber).stringValue
            case CNLabelPhoneNumberMain:
                self.phoneNumberTextField.text = (contact.value as! CNPhoneNumber).stringValue
            case CNLabelPhoneNumberiPhone:
                self.phoneNumberTextField.text = (contact.value as! CNPhoneNumber).stringValue
            case CNLabelPhoneNumberMobile:
                self.phoneNumberTextField.text = (contact.value as! CNPhoneNumber).stringValue
            case CNLabelPhoneNumberPager:
                self.phoneNumberTextField.text = (contact.value as! CNPhoneNumber).stringValue
            case CNLabelPhoneNumberHomeFax:
                self.phoneNumberTextField.text = (contact.value as! CNPhoneNumber).stringValue
            case CNLabelPhoneNumberWorkFax:
                self.phoneNumberTextField.text = (contact.value as! CNPhoneNumber).stringValue
            case CNLabelPhoneNumberOtherFax:
                self.phoneNumberTextField.text = (contact.value as! CNPhoneNumber).stringValue
            default:
                self.phoneNumberTextField.text = (contact.value as! CNPhoneNumber).stringValue
                break
            }
       }
  }

`

4

2 回答 2

3

所以没有直接的方法来获取自定义标签号,所以你可以这样做来获取自定义标签号:-

if !contact.phoneNumbers.isEmpty {
  for number in contact.phoneNumbers {
      // This return All the phone Numbers
      if number.label == CNLabelPhoneNumberiPhone {
          //iPhone number.
      } else if number.label == CNLabelPhoneNumberMobile {
          //Mobile phone number.
      } else if number.label == CNLabelPhoneNumberMain {
          //Main phone number.
      } else if number.label == CNLabelPhoneNumberHomeFax {
          //Home fax number.
      } else if number.label == CNLabelPhoneNumberWorkFax {
          //Work fax number.
      } else if number.label == CNLabelPhoneNumberOtherFax {
        //Other fax number.
      } else if number.label == CNLabelPhoneNumberPager {
        //Pager phone number.
     } else {
        // Custome Phone Number
        // number.label -> to get custome label name
    }
  }
}
于 2016-06-03T04:08:56.857 回答
1

a的label属性CNLabeledValue实际上是一个字符串。它可能包含一个值,例如Dador Apartment,或者在预定义的标签常量的情况下它等于_$!<Main>!$_or_$!<Home>!$_等​​。因此,如果您的给定label与您的任何预定义常量不匹配,则按原样显示字符串,因为这可能是自定义标签。

于 2017-02-16T17:19:35.793 回答