2016-03-31 5 views
0

У меня есть эта кнопка действия, используемая для проверки формы, но я нажимаю эту кнопку, появляется предупреждение и когда предупреждение отклонено (нажатие «ОК»), он выполняет переход к основному VC. Я хотел бы остаться в том же ВК после нажатия кнопки .:Swift: неожиданно выполняется segue

@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) 



    } 

Любые идеи, что я делаю не так? Пс. Я проверил выходы, и с ними нет трюка.

ответ

2

Удалить эту строку:

self.dismissViewControllerAnimated(true, completion: nil) 

Это происходит после того, как пользователь нажал кнопку OK, и предупреждение вид уже уволен. То, что вы там делали, - это отклонить представление, которое показывало предупреждение.

+0

Спасибо! Это сработало для меня. –

+0

Ваше приветствие. И, пожалуйста, отметьте как правильный ответ – Roee84

1

вы должны сделать что-то вроде этого.

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

и если вы хотите что-то выполнить после нажатия ok, сделайте это в обработчике.