Swift 自定义标记的电话号码

Swift 自定义标记的电话号码,swift,contacts-framework,Swift,Contacts Framework,联系人框架提供了一种电话号码标签,如下所示: cnlabelphonenumberphone,CNLabelPhoneNumberMain,cnlabelphonenumberpage等 for contact in self.contact.phoneNumbers { if contact.label == CNLabelPhoneNumberiPhone { self.phoneNumberTextField.text = (cont

联系人框架
提供了一种
电话号码
标签,如下所示:

cnlabelphonenumberphone
CNLabelPhoneNumberMain
cnlabelphonenumberpage

for contact in self.contact.phoneNumbers {
            if contact.label == CNLabelPhoneNumberiPhone {
                self.phoneNumberTextField.text = (contact.value as! CNPhoneNumber).stringValue
                break
            }
        }
但它们是有限的。对于标签为
的自定义电话号码
,没有任何选项。我可以在
联系人框架
上显示自定义标签的
电话号码

` 如果!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
            }
       }
  }

`

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

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
    }
  }
}

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

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
    }
  }
}

CNLabeledValue
label
属性实际上是一个字符串。它可能包含一个值,例如
Dad
单元
,或者在预定义标签常量的情况下,它等于
\$!!$\/code>或
\$!!$\/code>等。因此,如果给定的
标签
与任何预定义常量不匹配然后,nts按原样显示字符串,因为这可能是一个自定义标签。
CNLabeledValue
label
属性实际上是一个字符串。它可能包含一个值,例如
Dad
单元
,或者在预定义标签常量的情况下,它等于
\u$!!$\ ucode>或
\u$!!$\ ucode>,等等。因此,我如果给定的
标签
与任何预定义常量都不匹配,则按原样显示字符串,因为这可能是一个自定义标签。

太好了!但我不明白。如何获得自定义标签?谢谢。你是指自定义标签名称吗?是的!自定义标签名称打印,编号。标签您可以获得标签名称:)似乎很好用!但是这段代码只需要一个自定义标签。用户可能有一个或多个自定义标签联系人。太好了!但我不明白。如何获得自定义标签?谢谢。你是说自定义标签名称吗?是的!自定义标签名称打印,编号。标签您可以获得标签名称:)这似乎很好用!但这段代码仅适用于接受一个自定义标签。用户可以有一个或多个自定义标签的联系人。