8

目前我正在开发我的第一个 iOS 应用程序,我对代码有点慢和粗鲁(它很奇怪,与 java 不同),如果这是唯一的问题,新的更新,Xcode 让我的代码疯狂. 我想我解决了大部分问题,但是......

之前,在其中一个屏幕上,应用程序打开了一个地址簿并让用户点击一个;当点击完成时,联系人列表关闭并且该联系人的数据被检索到控制器。现在,如果用户单击联系人,则会显示更多信息,但任何信息都来自控制台日志。

我尝试了我在网上找到的所有东西,但我不确定为什么不起作用。

以前,我使用Addressbook(或类似的东西),但我已经尝试过使用CNContact.

这是按钮代码

@IBAction func addNewContactOnClick(_ sender: AnyObject) {

        let peoplePicker = CNContactPickerViewController()

        peoplePicker.delegate = self

        self.present(peoplePicker, animated: true, completion: nil)
    }

CNContactPickerDelegate 方法

func contactPicker(picker: CNContactPickerViewController, didSelectContacts contacts: [CNContact]){
        contacts.forEach { contact in
            for number in contact.phoneNumbers {
                let phoneNumber = number.value as! CNPhoneNumber
                print("number is = \(phoneNumber)")
            }
        }
    }

func contactPickerDidCancel(picker: CNContactPickerViewController) {
    print("Cancel Contact Picker")
}
4

1 回答 1

8

CNContactPickerDelegateSwift 3 中的方法如下所示。

func contactPicker(_ picker: CNContactPickerViewController, didSelect contacts: [CNContact]) {
    //your code
}

func contactPickerDidCancel(_ picker: CNContactPickerViewController) {
    //your code
}

有关CNContactPickerDelegate检查Apple 文档的其他方法。

于 2016-10-06T10:31:55.133 回答