Ios Swift中的条件序列

Ios Swift中的条件序列,ios,uiviewcontroller,swift,segue,Ios,Uiviewcontroller,Swift,Segue,我想在我的应用程序中执行“连接”按钮。当你点击它时,如果你登录正确,它会打开一个新页面 但是,我读到我们不能撤销一个segue,我想我需要手动调用它。你有什么想法吗 我还是试过这样的方法: override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject) { if checkLog == true { //finish } else { // undo

我想在我的应用程序中执行“连接”按钮。当你点击它时,如果你登录正确,它会打开一个新页面

但是,我读到我们不能撤销一个segue,我想我需要手动调用它。你有什么想法吗

我还是试过这样的方法:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject) {
    if checkLog == true
    {
     //finish   
    }
    else
   {
    // undo
   }
}

@IBAction func ConexTAP(sender: UIButton)
{
 //check login
}

您可以在
ViewController
中使用以下方法执行凭据检查:

func shouldPerformSegueWithIdentifier(_ identifier: String!,
                              sender: AnyObject!) -> Bool

或者,您可以将
ui按钮
绑定到视图控制器中的某个操作,在此处执行检查,然后按代码触发一个序列。

在Swift中,您可以通过以下方式继续操作:

步骤1:插入从ViewControllerA到ViewControllerB的序列。segue应该从ViewControllerA本身开始,而不是从任何控件(如按钮)开始

步骤2:在情节提要中为segue指定唯一标识符。例:希格弗罗马托布

步骤3:在ViewControllerforA.swift中写入:

if(condition == true) {
    self.performSegueWithIdentifier("seageFromAtoB", sender: self)
}
如果您正在其他线程中执行某些任务,那么使用PerformsgueWithIdentifier可能会引发异常

如果出现此错误,则应使用:

if(condition==true){
      NSOperationQueue.mainQueue().addOperationWithBlock {
           self.performSegueWithIdentifier("seageFromAtoB", sender: self)
      }
}

这将在特定条件下执行从ViewControllerA到ViewControllerB的切换。

感谢您的帮助!你能告诉我如何通过代码触发segue吗?使用performsguewithidentifier(“segueName”,sender:self)@mxb按照你的方法,你还会在故事板上创建(控制+拖动)segue“segueName”,从按钮到下一个场景吗?如果是这样,是否会在点击按钮时自动触发segue,而不检查凭据?