ios - 我如何将所有联系人的电话号码编译到一个单元格中 - 使用 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)
}
解决方案
您可以显示所有电话号码,如下所示
let contact = CNContact()
let numbers = contact.phoneNumbers.compactMap { $0.value.stringValue }
self.Phone.text = numbers.joined(separator: ", ")
推荐阅读
- javascript - 正则表达式检测一个字符是否在同一个字符串中只出现一次
- python - 为什么调整枕头中的图像大小不起作用?
- c++ - 如何打印具有不同列数的二维向量的转置?
- javascript - 如何删除数组中两个重复项之间的所有内容?
- latex - 在 R/exams Rnw 练习中包含 LaTeX 包
- javascript - 在reducer调用和props没有更新之后,组件没有重新渲染?
- ios - 无法在 IOS 移动设备上运行我的颤振项目
- kotlin - 如何使用 kotlin dsl 配置 Shadow 插件
- python - 手动更改 Keras 卷积层的权重
- node.js - 执行 npm 命令时出现错误