2015-12-28 5 views
0

Я пытаюсь переключиться на другой ViewController, как только я нажимаю «OK» на AlertController. В настоящее время, когда я нажимаю «ОК», он остается на текущем ViewController. Как это может быть сделано? Благодарю.Swift 2 - Как переключиться на другой ViewController, когда появляется AlertController?

Этот код представлен в ViewController1, и я хочу перейти на ViewController4, как только я нажал «ОК», когда появится AlertController.

код ниже:

@IBAction func submitTapped(sender: AnyObject) { 
    print("Validating...") 
    validator.validate(self) 
    Button1.hidden = false 
} 

// MARK: ValidationDelegate Methods 

func validationSuccessful() { 
    print("Validation Success!") 
    let alert = UIAlertController(title: "Success", message: "You are validated!", preferredStyle: UIAlertControllerStyle.Alert) 
    let defaultAction = UIAlertAction(title: "OK", style: .Default, handler: {action in ViewController4)) 
     alert.addAction(defaultAction) - Error Code // Variable used within its own initial value 
     self.presentViewController(alert, animated: true, completion: nil) 

     } - Error Code //Expected ‘,’ separator 

ответ

2

Вам нужно добавить обработчик к OK действия:

let defaultAction = UIAlertAction(title: "OK", style: .Default, handler: {action in 
    performSegueWithIdentifier("controller4SequeIdentifier", sender: nil); 
}) 
alert.addAction(defaultAction) 
self.presentViewController(alert, animated: true, completion: nil) 

В обработчике вы можете переключиться на другой контроллер. Обратите внимание, что это произойдет после нажатия пользователем кнопки OK. Вам также нужно добавить seque в ViewController4 в раскадровку и дать ему идентификатор, соответствующий тому, который был передан performSegueWithIdentifier.

+0

Я добавил эту строку кода, но я все еще сталкиваюсь с проблемами. default_ction = UIAlertAction (название: «ОК», стиль: .Default, обработчик: {действие в ViewController4() alert.addAction (defaultAction) - код ошибки // переменная, используемая в пределах своего собственного начального значения self.presentViewController (alert, анимированный: true, завершение: nil) } - Код ошибки // Ожидаемый ',' separator –

+0

Я думаю, что вы неправильно разместили закрытие '}' – Cristik

+0

Я внес изменения в код выше в этом сообщении, чтобы показать, где я получаю ошибки. –

Смежные вопросы