Я работаю над проектом iOS с использованием Swift. У меня есть простые контроллеры входа/регистрации/потерянного пароля для обеспечения безопасности с использованием Firebase. Проблема связана с контроллером просмотра пароля сброса. Если пользователь нажимает на него, они отправляются (представлены модально) на контроллер контроля потерянного пароля.AlertController - конфликт с UIViewController
Проблема с текущим кодом заключается в том, что, когда Firebase находит введенное электронное письмо и отправляет электронное письмо с сбросом пароля, я представляю Alert controller для подтверждения для пользователя. Проблема в том, что, когда я нажимаю «ok» на Alert Controller, я хочу, чтобы и Reset Password View Controller был уволен. Не знаю, почему он сейчас не работает. Я получаю электронные письма, но когда я нажимаю кнопку «ОК» на контроллере Alert, он только отклоняет контроллер Alert, а self.dismissViewControllerAnimated(true, completion: nil)
, похоже, не отклоняет представленный в модальном режиме Reset Password View Controller.
Я пробовал с self.dismissViewController(true, completion: nil)
, а также self.performSegueWithIdentifier("goToLoginVC", sender: nil)
. Нет, похоже, работает, и я не могу понять, почему.
Вот сама функция:
@IBAction func resetPasswordPressed(sender: AnyObject) {
let email = emailTextField.text
if email != "" {
DataService.ds.REF_BASE.resetPasswordForUser(email, withCompletionBlock: { error in
if error != nil {
// Error - Unidentified Email
showAlert(title: "Unidentified Email Address", msg: "Please, re-enter the email you have registered with.", actionButton: "OK", viewController: self)
} else {
// Success - Sent recovery email
let alertController = UIAlertController(title: "Email Sent", message: "An email has been sent. Please, check your email now.", preferredStyle: UIAlertControllerStyle.Alert)
let okAction = UIAlertAction(title: "OK", style: .Default, handler: nil)
alertController.addAction(okAction)
self.presentViewController(alertController, animated: true, completion: nil)
self.dismissViewControllerAnimated(true, completion: nil)
}
})
} else {
showAlert(title: "Error!", msg: "Email is required in order to reset your password. Please, enter your email. ", actionButton: "OK", viewController: self)
}
}
Я думал, что вам не нужно, что .. :) –
Это было именно то, что мне было нужно! Спасибо! – Dani
Рад помочь вам .. :) –