如何根据swift中的按钮单击条件执行不同的segue?

Leo*_*rov 1 ios swift swift3

我正在构建一个应用程序,如果您第一次打开应用程序,并且如果您在任何其他时间打开应用程序,则按钮会将您带到配置文件注册表视图.如何以编程方式完成此操作,我看到的所有内容只将按钮连接到一个视图.

@IBAction func NextViewController(_ sender: UIButton) {
    if launchedBefore  {
        print("Not first launch.")

    } else {
        print("First launch, setting UserDefault.")


        UserDefaults.standard.set(true, forKey: "launchedBefore")
    }
}
Run Code Online (Sandbox Code Playgroud)

Jay*_*yas 10

我想,您正在尝试连接按钮以执行具有多个ViewController的segue对吗?这是不可能的

相反,您必须在视图控制器之间连接segue

在两个viewControllers之间添加segue:

在Interface Builder中,在要链接的两个viewControllers之间按住Ctrl键拖动.你应该看到:

在此输入图像描述

现在基于你的条件你应该使用如下标识符执行segue:

@IBAction func NextViewController(_ sender: UIButton) {
            if launchedBefore  {
        /*Use the Identifier you given in story Board*/
               self.performSegue(withIdentifier: "otherVC", sender: self)

            } else {
    /*Use the Identifier you given in story Board*/
        self.performSegue(withIdentifier: "register", sender: self))
                UserDefaults.standard.set(true, forKey: "launchedBefore")
            }
        }
Run Code Online (Sandbox Code Playgroud)

有关segue的更多描述性答案,请参阅答案如何将两个视图控制器连接到故事板中的一个按钮?