Ios 为什么在实例化view controller时应用程序会崩溃?
我正在尝试推送一个新的视图控制器,但在第一行出现此错误消息时崩溃 EXC_BAD_指令(代码=EXC_I386_INVOP,子代码=0x0) 我已经仔细检查了类名和情节提要id,它们是正确的。不知道问题是什么Ios 为什么在实例化view controller时应用程序会崩溃?,ios,swift,Ios,Swift,我正在尝试推送一个新的视图控制器,但在第一行出现此错误消息时崩溃 EXC_BAD_指令(代码=EXC_I386_INVOP,子代码=0x0) 我已经仔细检查了类名和情节提要id,它们是正确的。不知道问题是什么 func showUsers() { let vc = self.storyboard?.instantiateViewController(withIdentifier: "group") as! GroupViewController self.navigationContro
func showUsers() {
let vc = self.storyboard?.instantiateViewController(withIdentifier: "group") as! GroupViewController
self.navigationController?.pushViewController(vc, animated: true)
}
请检查以下几点:- 1) 请检查GroupViewController是否驻留在同一情节提要中 2) 调试代码并检查vc对象,它不应为零
3) 请检查特定情节提要中GroupViewController的组标识符。请检查以下给定点:- 1) 请检查GroupViewController是否驻留在同一故事板中 2) 调试代码并检查vc对象,它不应为零
3) 请检查特定情节提要中GroupViewController的组标识符。能否检查您的
vc
是否为零
你有可选的情节提要
和强制作为
,在你推你的vc
之前,有两件事可能会出错。它可以是nil
,也可以不是GroupViewController
实例
您可以尝试以下方法:
if let vc = self.storyboard?.instantiateViewController(withIdentifier: "group") as? GroupViewController {
self.navigationController?.pushViewController(vc, animated: true)
}
看看你是否真的得到了非nilvc
编辑:根据你的评论-似乎你在某个时候得到了nil
。然后你需要检查确切的位置。你的self.storyboard
是否非零
能否实例化视图控制器
如果指定的标识符在序列图像板文件中不存在(或为nil),此方法将引发异常
我建议通过将实例化分解为单独的步骤进行调试,并按如下方式检查每个步骤:
if let storyboard = self.storyboard {
let vc = storyboard.instantiateViewController(withIdentifier: "group")
if let groupVC = vc as? GroupViewController {
self.navigationController?.pushViewController(groupVC, animated: true)
}
}
您能检查一下您的
vc
是否为零吗
你有可选的情节提要
和强制作为
,在你推你的vc
之前,有两件事可能会出错。它可以是nil
,也可以不是GroupViewController
实例
您可以尝试以下方法:
if let vc = self.storyboard?.instantiateViewController(withIdentifier: "group") as? GroupViewController {
self.navigationController?.pushViewController(vc, animated: true)
}
看看你是否真的得到了非nilvc
编辑:根据你的评论-似乎你在某个时候得到了nil
。然后你需要检查确切的位置。你的self.storyboard
是否非零
能否实例化视图控制器
如果指定的标识符在序列图像板文件中不存在(或为nil),此方法将引发异常
我建议通过将实例化分解为单独的步骤进行调试,并按如下方式检查每个步骤:
if let storyboard = self.storyboard {
let vc = storyboard.instantiateViewController(withIdentifier: "group")
if let groupVC = vc as? GroupViewController {
self.navigationController?.pushViewController(groupVC, animated: true)
}
}
控制台中有消息吗?@Larme控制台中没有消息。在您的故事板组ViewController中有按组标识吗?是@HIMANSHUMARADIYA是否有未连接但您正在尝试设置值的IBOUTLE?控制台中有消息吗?@Larme控制台中没有消息。在您的故事板组ViewController中有按组标识吗?是@Himanshumuradiaya是否有未连接的IBOutlet,但您正在尝试设置值?是的,如果让storyboard=self.storyboard,则在
处失败。现在工作正常:)是的,如果让storyboard=self.storyboard
,它在上失败了。现在一切正常:)