2014-12-30 3 views
0

Недавно я начал изучать Swift и для своего первого приложения (шаблон Master-Detail), я пытаюсь извлечь данные (добавить контакты в список) из моей адресной книги. Я пытаюсь подключить мой метод showAddressBook к кнопке + в Мастере. Сбой сборки в строке инициализации (ошибка: «Инициализаторы могут быть объявлены только внутри типа»), поэтому я предполагаю, что мой код неверен.Подключение методов к кнопкам и инициализация

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

Я могу загрузить код для подключения данных Адресной книги, если это необходимо. Благодаря!

ответ

1

это не так, как вы инициализировать ABPeoplePickerNavigationController просто написать:

func showAddressBook() { 

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

или вы можете использовать другой Инициализатора , а затем использовать presentViewController. Примечание: использование одного и того же имени для двух переменных (addressBookController) - плохая привычка программирования: D

+0

Итак, я заменил 3 строки в func на то, что вы написали, и приложение продолжило сбой. Мысли? – user3345130

+0

Я отредактирую ответ для вас – user3703910

+0

Спасибо, он все еще бросает ошибку, возможно, что-то не так с моим другим кодом. error msg ниже – user3345130

Смежные вопросы