尝试使用swift中的按钮更改视图控制器时出错

时间:2014-08-13 22:01:07

标签: ios swift xcode6

我在主故事板中设置了两个独立的视图控制器,每个视图控制器都有一个按钮。当按下一个按钮时,它会切换到第二个视图控制器,反之亦然,但是,当我运行项目并单击按钮时,我收到错误:

  

致命错误:在解包可选值时意外发现nil

...在输出框中。这是我的第一个视图控制器中按钮操作的代码:

@IBAction func addInfo(sender: AnyObject) {
    let view2 = self.storyboard.instantiateViewControllerWithIdentifier("view2") as ViewController2
    self.navigationController.pushViewController(view2, animated: true) //error: (code=EXC_I386_INVOP,subcode=0x0) on this line
}

我还是Xcode的新手,我正忙着在beta4上工作。 (我看了this tutorial但仍然没有运气)

提前致谢。

2 个答案:

答案 0 :(得分:3)

确保您已将标识符设置为view2。 粘贴控制台错误日志

答案 1 :(得分:1)

从文档到UIViewController

  

如果接收者或其祖先之一是导航的孩子   controller,此属性包含拥有的导航控制器。   如果视图控制器未嵌入到a中,则此属性为nil   导航控制器。

在您的情况下,看起来self.navigationController会返回nil。检查您的视图控制器是否在导航控制器内。