我要做的是:
检查条件,如果条件为真,则执行segue as
正常。如果条件为false,则调用shouldPerformSegue方法并
返回false取消segue。
我是怎么做到的:

func buttonTapped{

if(condition is true){
   // Perform actions
   // Perform segue as normal
} else{
      shouldPerformSegue(withIdentifier "mySegueIdentifier", sender: self){
      return false
      }
}

}

我收到的错误:
调用中的额外参数。我删除了sender参数以尝试获取
这是可行的,它为我消除了错误,但是
在不该表演的时候仍在表演。
我在apple文档中搜索了使用此方法的正确方法,但仍不确定如何使用。如有任何帮助,我们将不胜感激。

最佳答案

如果要执行逻辑来决定是否应该“执行”一个segue,则需要覆盖shouldPerformSegue。这将允许操作系统(1)正确地开始工作,(2)让您能够决定segue是否完成。

override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {
    if [criteria met to perform segue] {
        return true
    } else {
        return false
    }
}

10-08 06:26