Iboutlets 在当前通话中没有价值
Iboutlets have nil value on present call
@objc func handleGoToSearch() {
// present(UINavigationController(rootViewController: searchDisplayController()), animated: true, completion: nil)
performSegue(withIdentifier: "searchSegue", sender: nil)
}
我正在使用对 SearchViewController 的当前调用,但是 ib 出口在哪里为 nil,我感觉它与传递新实例有关,并且出口没有及时加载。 (我在别处读到的)。当我使用 perform segue not errors.
我想知道到底发生了什么。我还认为 present() 可能不适用于故事板,或者我传递了错误的值类型。
您的出口为零,因为您不是仅从 Swift class 创建 viewcontroller,而不是从故事板创建。要从故事板创建 viewcontroller,请执行以下操作:
let viewController = UIStoryboard(name: "Name of the storyboard").instantiateViewController(withIdentifier: "Identifier of the viewcontroller")
您应该填写情节提要的名称(通常是Main
)并在情节提要中给viewcontroller一个标识符,并在代码中使用该标识符。
@objc func handleGoToSearch() {
// present(UINavigationController(rootViewController: searchDisplayController()), animated: true, completion: nil)
performSegue(withIdentifier: "searchSegue", sender: nil)
}
我正在使用对 SearchViewController 的当前调用,但是 ib 出口在哪里为 nil,我感觉它与传递新实例有关,并且出口没有及时加载。 (我在别处读到的)。当我使用 perform segue not errors.
我想知道到底发生了什么。我还认为 present() 可能不适用于故事板,或者我传递了错误的值类型。
您的出口为零,因为您不是仅从 Swift class 创建 viewcontroller,而不是从故事板创建。要从故事板创建 viewcontroller,请执行以下操作:
let viewController = UIStoryboard(name: "Name of the storyboard").instantiateViewController(withIdentifier: "Identifier of the viewcontroller")
您应该填写情节提要的名称(通常是Main
)并在情节提要中给viewcontroller一个标识符,并在代码中使用该标识符。