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