如何在Swift中以字符串形式获取CNContact电话号码?

贝勒·米切尔(Baylor Mitchell):

我正在尝试检索所有联系人的姓名和电话号码,并将它们放入iOS中的Swift数组中。我已经做到了:

func findContacts() -> [CNContact] {

    marrContactsNumber.removeAllObjects()
    marrContactsName.removeAllObjects()

    let store = CNContactStore()

    let keysToFetch = [CNContactGivenNameKey, CNContactFamilyNameKey, CNContactPhoneNumbersKey]

    let fetchRequest = CNContactFetchRequest(keysToFetch: keysToFetch)

    var contacts = [CNContact]()

    do {
        try store.enumerateContactsWithFetchRequest(fetchRequest, usingBlock: { (let contact, let stop) -> Void in
            contacts.append(contact)

            self.marrContactsName.addObject(contact.givenName + " " + contact.familyName)

            self.marrContactsNumber.addObject(contact.phoneNumbers)

            print(contact.phoneNumbers)
    }
    catch let error as NSError {
        print(error.localizedDescription)
    }

    print(marrContactsName.count)
    print(marrContactsNumber.count)

    return contacts
}

完成后,将完全marrContactsName包含我所有联系人姓名的数组。即“ John Doe”。但是,marrContactsNumber返回一个值数组,例如

[<CNLabeledValue: 0x158a19950: identifier=F831DC7E-5896-420F-AE46-489F6C14DA6E,
label=_$!<Work>!$_, value=<CNPhoneNumber: 0x158a19640: countryCode=us, digits=6751420000>>,
<CNLabeledValue: 0x158a19a80: identifier=ECD66568-C6DD-441D-9448-BDEDDE9A68E1,
label=_$!<Work>!$_, value=<CNPhoneNumber: 0x158a199b0: countryCode=us, digits=5342766455>>]

我想知道如何仅将电话号码作为字符串值即“ XXXXXXXXXX”来检索。基本上,如何调用数字值。谢谢!

贝勒·米切尔(Baylor Mitchell):

我找到了解决方案: (contact.phoneNumbers[0].value as! CNPhoneNumber).valueForKey("digits") as! String

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Java中如何将电话号码格式化为字符串?

如何使用正则表达式提取字符串的电话号码?

使用Javascript屏蔽电话号码字符串

iOS 9:获取CNContact国家代码和电话号码

正则表达式从字符串中获取电话号码

如何在文本字符串中查找电话号码

如何在React Native中获取电话号码?

如何从电话号码字符串中确定区域?

电话号码是整数还是字符串?

Python电话号码字符串验证

识别字符串中的电话号码

如何在Oracle中屏蔽包含电话号码的字符串?

如何将字符串转换为电话号码

正则表达式从字符串中获取电话号码掩码

如何在MSSQL中搜索可以以不同格式存储的字符串(电话号码)

从字符串中提取电话号码

如何在Swift中获取设备电话号码或唯一ID?

如何使用autolink:phone使一个字符串中的多个电话号码可单击?

在C#6.0中使用插值字符串显示电话号码

javascript / jquery:从字符串中提取电话号码

将字符串转换为电话号码Ruby

从复杂的字符串中提取电话号码

如何在功能中获取用户的电话号码?

如何从字符串中分离电子邮件和电话号码

Flutter/Dart:如何从 Flutter 中的字符串中提取电子邮件和电话号码

如何在 Dart/Flutter 中从字符串(例如电话号码)中提取数字?

如何从excel单元格中的多行字符串中提取电话号码

从字符串中提取类型和电话号码

如何将字符串格式化为电话号码kotlin算法