gpt4 book ai didi

ios - InstantiateViewController 导致 nil 导致它崩溃

转载 作者:行者123 更新时间:2023-11-28 15:43:13 25 4
gpt4 key购买 nike

我正在尝试做的事情:

我正在尝试按下导航栏右上角的 + 按钮,将应用推送到新 View (使用 navigationController.pushViewController),从新 View 获取一些用户输入文本,然后返回到原图。

enter image description here

问题:

下面的代码返回 nil,这会导致 navigationController.pushViewController 使应用程序崩溃。再说一次,我愿意

let newPostView = self.storyboard?.instantiateViewController(withIdentifier: "PostNewActivityViewController") as? PostNewActivityViewController

然后下面的行使应用程序崩溃,因为 newPostView 为 nil。

navigationController?.pushViewController(newPostView!, animated: true)

我从这个异常中得到的所有错误消息都是 EXC_BAD_INSTRUCTION 并且控制台输出只告诉我它在展开一个 Optional 值时意外地找到了 nil。我不明白为什么 newPostView 是 nil。

此外,我想知道这是否是从另一个 View Controller 获取用户输入的最佳做法。

任何帮助或反馈将不胜感激。

最佳答案

在您的评论中,您提到 p self.storyboard(在调试器中)正在生成(打印)nil

所以我建议您改为通过以下方式获取对 Storyboard 的引用:

let storyboard = UIStoryboard(name: "YOUR STORYBOARD'S NAME (e.g. Main)", bundle: Bundle.main)

然后继续以相同的方式实例化并呈现您的 UIViewController,如下所示:

let viewController = storyboard.instantiateViewController(withIdentifier: "PostNewActivityViewController")
present(viewController, animated: true, completion: nil)

希望对您有所帮助。如果您需要任何进一步的说明,请告诉我。

关于ios - InstantiateViewController 导致 nil 导致它崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43443957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com