首页 > 解决方案 > 我如何将所有联系人的电话号码编译到一个单元格中 - 使用 CNContact

问题描述

我用来获取联系人电话号码的代码如下,我想做的是将所有联系人电话号码(固定电话、手机等)显示在一起,例如 0402 000 000、618 802336、0423 000 000(一起在一个文本字段)

我的代码如下

// Retrieve contact details ---------------------------
    @IBAction func show(_ sender: Any) {
        let contacVC = CNContactPickerViewController()
        contacVC.delegate = self
        self.present(contacVC, animated: true, completion: nil)
    }

    func contactPicker(_ picker: CNContactPickerViewController, didSelect contact: CNContact) {

        print(contact.phoneNumbers)
        let numbers = contact.phoneNumbers.first
        print((numbers?.value)?.stringValue ?? "")
        self.Phone.text = "\((numbers?.value)?.stringValue ?? "")"
            }

    func contactPickerDidCancel(_ picker: CNContactPickerViewController) {
        self.dismiss(animated: true, completion: nil)
    }

标签: iosswiftxcodeswift5

解决方案


您可以显示所有电话号码,如下所示

let contact = CNContact()
let numbers = contact.phoneNumbers.compactMap { $0.value.stringValue }
self.Phone.text = numbers.joined(separator: ", ")

推荐阅读