问题描述
不幸的是,由于它们是私有的,您无法获得它们。
let numberValue = number.value
let countryCode = numberValue.valueForKey("countryCode") as? String
let digits = numberValue.valueForKey("digits") as? String
这行得通,但是如果您在此行中做某事,
您可以在这里看到所有可以使用的好东西。
如果您不打算将应用程序上载到商店,则上述解决方案是可以的,否则我会坚持使用某种正则表达式,因为它知道将来可能会崩溃:
countryCode=(\w{2}),.*digits=(.+)>$
解决方法
我想从iOS 9上的CNContact获取国家代码和电话号码。我尝试了很多事情,但找不到方法。我获得的最佳结果是打印:
<CNPhoneNumber: 0x7f886389a140: countryCode=us,digits=5555648583>
这是我的方法:
func contactPicker(picker: CNContactPickerViewController,didSelectContact contact: CNContact) {
print(contact.phoneNumbers.count)
for number: CNLabeledValue in contact.phoneNumbers {
print(number.value)
}
}
我想要的是countryCode和数字的值。有什么想法如何在Swift中访问它们吗?谢谢!