我要做的是:
检查条件,如果条件为真,则执行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
}
}