Swift:意外地执行segue

时间:2016-03-31 07:09:02

标签: ios swift

我已经使用此操作按钮来验证表单,但是我按下此按钮,提示警报,当警报被解除时(按下"确定"),它执行一个segue到主要VC。按下按钮后,我想留在同一个VC中。:

@IBAction func loginButton(sender: AnyObject) {

        if self.password.text == "" || self.email.text == "" {

            self.displayAlert("Error", message: "Please insert email and password")
            print("if")

        }


        }


    func displayAlert(title: String, message: String) {

        // cria a mensagem de alerta
        var alert = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.Alert)

        // adiciona botao a mensagem de alerta
        alert.addAction((UIAlertAction(title: "Ok", style: .Default, handler: { (action) -> Void in

            //o que faz quando o botao da mensagem de alerta é apertado.
            self.dismissViewControllerAnimated(true, completion: nil)


        })))

        //apresenta a mensagem.
        self.presentViewController(alert, animated: true, completion: nil)



    }

任何想法我做错了什么? PS。我检查了网点,但没有诀窍。

2 个答案:

答案 0 :(得分:2)

删除此行:

self.dismissViewControllerAnimated(true, completion: nil)

用户按下OK后会发生这种情况,警报视图已被解除。 你在那里做的是解雇显示警报的视图。

答案 1 :(得分:1)

你应该这样做。

alert.addAction((UIAlertAction(title: "Ok", style: .Cancel, handler: nil))

如果你想在按下ok后执行某些操作,请在处理程序中执行此操作。