<分区>
正如标题所示,在我使用 swift 的 iOS 应用程序中,我有一个 CNContactProperty 对象,我想从中提取电话号码作为字符串。
在用户从中选择联系人后,CNContact 属性通过委托(delegate)协议(protocol)函数从标准 CNContactPickerViewController 返回。
当一个联系人有多个电话号码时,我希望能够从 CNContactProperty 中提取用户在联系人 View 中点击的电话号码。
我正在尝试做这样的事情:
let myString = theCNContactProperty.value as! String
但是,这会因 (lldb) 错误而崩溃。我怀疑也许“值”属性不是我需要的?
我可以像这样检索任意数字:
let myString = contactProperty.contact.phoneNumbers[0].value.stringValue
返回联系人的第一个号码。但是,这不符合我的目的,因为我希望能够在联系人的号码超过 1 个时提取用户选择的特定号码。
我已经为此工作了几个小时,但无法弄清楚,如果你能给我任何帮助,我将不胜感激!
编辑:这不是所提供链接的副本。链接的问题是关于从联系人中检索所有号码,而不是专门选择的号码。这有很大的不同。
正确答案:
作为Mahdi Moqadasi
在评论中写道,正确答案是使用(contactProperty.value as?CNPhoneNumber).stringValue
.
或者看下面的回答:
Extract email from CNContactProperty - iOS 9
iOS Objective C: Get user selected phone number from CNContactProperty as a string