在我的应用中,我想将str = str.replaceAll("\\D+","");
框架用于自动填充字段。我创建了按钮,并希望在用户选择一个时获取联系人数据:
ContactsUI
并创建方法:
class MyController: UIViewController,CNContactPickerDelegate {
var contactStore = CNContactStore()
@IBAction func selectContact(_ sender: Any) {
self.requestForContactAccess { (accessGranted) -> Void in
if accessGranted {
let contactPickerViewController = CNContactPickerViewController()
contactPickerViewController.predicateForEnablingContact = NSPredicate(format: "birthday != nil")
contactPickerViewController.delegate = self
self.present(contactPickerViewController, animated: true, completion: nil)
contactPickerViewController.displayedPropertyKeys = [CNContactGivenNameKey, CNContactFamilyNameKey, CNContactEmailAddressesKey, CNContactBirthdayKey, CNContactImageDataKey]
}
}
}
}
但联系人没有打印和控制器,联系人在选择后没有关闭。我做错了什么?
答案 0 :(得分:0)
谢谢@Larme
如果您使用的是Swift 3:stackoverflow.com/questions/40491818 / ...?该方法的Swift 3签名是可选的func contactPicker(_ picker: CNContactPickerViewController, didSelect contact: CNContact)
,您使用的是旧签名。