当前位置 : 主页 > 手机开发 > ios >

ios – Swift 3 – 准备Segue

来源:互联网 收集:自由互联 发布时间:2021-06-11
我的故事板中有3个场景.我的初始View Controller是一个导航控制器,然后有一个关系根视图控制器到UI ViewController(视图控制器a),然后我有一个从ViewController中的按钮到第三个ViewController(视图
我的故事板中有3个场景.我的初始View Controller是一个导航控制器,然后有一个关系根视图控制器到UI ViewController(视图控制器a),然后我有一个从ViewController中的按钮到第三个ViewController(视图控制器b)的推送segue现场.我给push segue一个标识符.现在我正在尝试在第二个视图控制器(视图控制器a)中准备我的segue,如下所示:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if segue.identifier == "HistorySegue" {
            if let viewController = segue.destination as? HistoryController {
                viewController.detailItem = barcodeInt as AnyObject
            }
        }
    }

但是,当我运行此代码并按下控制器中的按钮时,我收到以下错误:

致命错误:尝试桥接包含nil的隐式解包的可选项

我究竟做错了什么?

用以下代码替换您的代码,它至少不会崩溃.

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if segue.identifier == "HistorySegue" {
            if let viewController = segue.destination as? HistoryController {
              if(barcodeInt != nil){
                viewController.detailItem = barcodeInt as AnyObject
               }
            }
        }
    }
网友评论