Ios 为什么在实例化view controller时应用程序会崩溃?

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

我正在尝试推送一个新的视图控制器,但在第一行出现此错误消息时崩溃

EXC_BAD_指令(代码=EXC_I386_INVOP,子代码=0x0)

我已经仔细检查了类名和情节提要id,它们是正确的。不知道问题是什么

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)
}
看看你是否真的得到了非nil
vc

编辑:根据你的评论-似乎你在某个时候得到了
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)
}
看看你是否真的得到了非nil
vc

编辑:根据你的评论-似乎你在某个时候得到了
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
,它在
上失败了。现在一切正常:)