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>,等等。因此,我如果给定的标签
与任何预定义常量都不匹配,则按原样显示字符串,因为这可能是一个自定义标签。太好了!但我不明白。如何获得自定义标签?谢谢。你是指自定义标签名称吗?是的!自定义标签名称打印,编号。标签您可以获得标签名称:)似乎很好用!但是这段代码只需要一个自定义标签。用户可能有一个或多个自定义标签联系人。太好了!但我不明白。如何获得自定义标签?谢谢。你是说自定义标签名称吗?是的!自定义标签名称打印,编号。标签您可以获得标签名称:)这似乎很好用!但这段代码仅适用于接受一个自定义标签。用户可以有一个或多个自定义标签的联系人。