首页 > 解决方案 > PerformSegueWithIdentifier 爆炸

问题描述

我有一个奇怪的情况发生。以下是我的布局的简要说明:

登录视图控制器 -> 主表视图控制器(具有注销按钮)-> 第二表视图控制器(具有注销按钮)-> 帮助菜单。

因此,当用户进入帮助菜单并单击注销按钮时,它会将它们转储回第二个视图控制器,此时它会爆炸说:

Thread 1: Exception: "Receiver (<xxx.SecondViewController: 0x7fa72b9cc040>) has no segue with identifier 'SignupViewController'"

注销按钮的代码如下:

@IBAction func btnLogoutPressed(_ sender: Any) {
        try! Auth.auth().signOut()
        performSegue(withIdentifier: "SignupViewController", sender: self)
    }

在 SecondViewController 中,我还有一个注销按钮,它的代码与帮助视图控制器的代码完全相同。

知道如何解决这个问题吗?

标签: iosswiftsegueviewcontroller

解决方案


您必须在情节提要中将 SecondViewController 的 segue 添加到 SignupViewController 并将该 segue 标识符设置为“SignupViewController”。然后它将起作用。

我想现在segue只能从主表视图控制器到带有标识符“SignupViewController”的SignupViewController,如果是这样,它只能从主表视图控制器工作。


推荐阅读