我最近开始学习Swift,对于我的第一个应用程序(主从模板),我试图从通讯簿中提取数据(将联系人添加到列表中)。我试图将showAddressBook方法连接到主服务器中的+按钮。构建在初始化行失败(错误:“初始化器只能在类型内声明”),所以我猜我的代码是错误的。

func showAddressBook() {
    var addressBookController = ABPeoplePickerNavigationController.alloc()
    init(addressBookController = ABPeoplePickerNavigationController) {
        self.addressBookController = presentViewController(presentViewController: addressBookController, animated: true, completion: nil)
    }
}


如果需要,我可以上载用于连接通讯簿数据的代码。谢谢!

最佳答案

这不是您初始化ABPeoplePickerNavigationController的方式
只需写:

    func showAddressBook() {

    var addBook = ABPeoplePickerNavigationController()
    self.presentViewController(addBook, animated: true) { () -> Void in}
}


或者您可以使用其他初始化程序
然后使用presentViewController。
注意:对于两个变量(addressBookController)使用相同的名称是不好的编程习惯:D

10-02 01:03