从地址簿模态执行segue

时间:2014-08-05 02:42:54

标签: ios mobile swift xcode5

我遇到一个问题,从模态联系人显示一个新的viewController来接触来自 ABPeoplePickerNavigationController 的加载!

问题是,当我显示所有联系人时,我想在我点击它时打开一个新视图。但我有一个错误。

在主控制器中,我有显示联系人列表的方法(带按钮操作):

@IBAction func showContacts(sender : AnyObject) {
   self.addressBookController.peoplePickerDelegate = self
   self.presentViewController(addressBookController, animated: true, completion: nil)          
}

这会打开联系人列表。但当我点击其中一些然后我收到错误:

fatal error: unexpectedly found nil while unwrapping an Optional value

(lldb)

我创建了一个新的viewcontroller以及atual viewcontroller和新视图之间的链接,并将segue标记为'teste'。

比我有方法:

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
    if segue.identifier == "teste"{
        let vc = segue.destinationViewController as SelecionaNumeroViewController

    }
}

和表演赛段:

func peoplePickerNavigationController( peoplePicker: ABPeoplePickerNavigationController!, didSelectPerson person: ABRecordRef!) {

    self.addressBookController.dismissViewControllerAnimated(true, completion: nil)
    self.navigationController.performSegueWithIdentifier("teste", sender: self)

}

我认为这是一个新手问题,但我找不到解决方案。

由于

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。

我忘了把新的viewcontroller放到导航控制器中:

我做了:

  

编辑器>嵌入>导航控制器

它的工作!