gpt4 book ai didi

ios - 为什么在实例化 View Controller 时应用程序崩溃?

转载 作者:行者123 更新时间:2023-11-28 10:13:32 26 4
gpt4 key购买 nike

我正在尝试推送一个新的 View Controller ,但在第一行崩溃并显示此错误消息

EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)

我已经对类名和 Storyboard ID 进行了三重检查,它们都是正确的。不确定是什么问题。

func showUsers() {
let vc = self.storyboard?.instantiateViewController(withIdentifier: "group") as! GroupViewController
self.navigationController?.pushViewController(vc, animated: true)
}

最佳答案

你能检查一下你的 vc 不是 nil 吗?

您有可选的 storyboard 和强制 as,在您推送 vc 之前,有几件事可能会出错。它可以是 nil,也可以不是 GroupViewController 实例。

你可以从尝试这样的事情开始:

if let vc = self.storyboard?.instantiateViewController(withIdentifier: "group") as? GroupViewController {
self.navigationController?.pushViewController(vc, animated: true)
}

看看你是否真的得到了非零的vc

编辑:根据您的评论 - 似乎您在某些时候确实得到了 nil。然后你需要检查到底在哪里。你的 self.storyboard 是非零吗?

你能实例化你的 View Controller 吗? method docs

If the specified identifier does not exist (or is nil) in the storyboard file, this method raises an exception.

我建议通过将实例化分解为单独的步骤来进行调试,并像这样检查每个步骤:

if let storyboard = self.storyboard {
let vc = storyboard.instantiateViewController(withIdentifier: "group")
if let groupVC = vc as? GroupViewController {
self.navigationController?.pushViewController(groupVC, animated: true)
}
}

关于ios - 为什么在实例化 View Controller 时应用程序崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44648023/

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