我对使用 Swift 编码并尝试自学非常陌生。我无法弄清楚如何从 Swift 3 中的 ContactPicker View UI 启用多项选择。
从阅读文档看来,我应该使用启用多项选择[CNContactProperty]
,但这是模棱两可的。当我这样做时,我无法调用属性来打印 givenName 和值,因为它们不是数组的成员。此外,当我使用[CNContactProperty]
我的选择器视图的语法时,不会显示“完成”按钮来结束选择。取消是我退出选择器视图的唯一选择。
我已经为以前版本的 Swift 找到了许多答案,但我对如何在 Swift 3 中使用此功能感兴趣。最终,我试图在 a 中预填充联系人字段,UIMessageComposer
以便通过一次推送从数组中向多个联系人发送消息发送按钮。
// this is the code that works for a single selection
import UIKit
import ContactsUI
import Contacts
class MainViewController: UIViewController, CNContactPickerDelegate {
// select Contacts to message from "Set Up" Page
@IBAction func pickContacts(_ sender: Any) {
let contactPicker = CNContactPickerViewController()
contactPicker.delegate = self
contactPicker.displayedPropertyKeys = [CNContactPhoneNumbersKey]
self.present(contactPicker, animated: true, completion: nil)
}
//allow contact selection and dismiss pickerView
func contactPicker(_ picker: CNContactPickerViewController, didSelect contactsProperty: CNContactProperty) {
let contact = contactsProperty.contact
let phoneNumber = contactsProperty.value as! CNPhoneNumber
print(contact.givenName)
print(phoneNumber.stringValue)
}