【问题标题】:Error when trying to change view controllers with a button in swift尝试使用 swift 中的按钮更改视图控制器时出错
【发布时间】:2014-08-13 22:01:07
【问题描述】:

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

致命错误:在展开可选值时意外发现 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 还是没有运气)

提前致谢。

【问题讨论】:

    标签: ios swift xcode6


    【解决方案1】:

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

    【讨论】:

    • 刚刚检查了情节提要 ID,它肯定是“view2”。这就是我在控制台中得到的全部内容:“致命错误:在展开可选值 (lldb) 时意外发现 nil”
    【解决方案2】:

    从文档到UIViewController

    如果接收器或其祖先之一是导航的子代 控制器,此属性包含拥有的导航控制器。 如果视图控制器没有嵌入到 导航控制器。

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

    【讨论】:

    • 谢谢!一直在到处寻找解决方案……现在完美了:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    相关资源
    最近更新 更多