iboutlet当前调用的值为nil

问题描述

@objc func handleGoToSearch() {
//        present(UINavigationController(rootViewController: searchdisplayController()),animated: true,completion: nil)
        performSegue(withIdentifier: "searchSegue",sender: nil)
    }

我正在使用对SearchViewController的当前调用,但是ib出口位于零位置,我感觉它与传递新实例有关,并且出口没有及时加载。 (我在其他地方阅读的内容)。当我使用执行segue而不是错误

我想确切地知道正在发生什么。我还认为也许present()不适用于情节提要,或者我传递了错误的值类型。

解决方法

您的出口是零,因为您不是仅从Swift类(而不是故事板)创建视图控制器。要从情节提要中创建视图控制器,请执行以下操作:

let viewController = UIStoryboard(name: "Name of the storyboard").instantiateViewController(withIdentifier: "Identifier of the viewcontroller")

您应填写情节提要的名称(通常为Main),并在情节提要中为视图控制器提供一个标识符,并在代码中使用该标识符。