Bonsoir à tous,
Je viens vers vous car je suis devant un soucis que je n’arrive pas à gérer :
Dans SafetyFirst, j’ai ajouté un AlertViewController dans la gestion du mot de passe principale quand celui-ci est inférieur à 6 caractères :
@IBAction func saveAndCloseButton(_ sender: Any) {
savePassword()
dismiss(animated: true, completion: nil) // retourne à l'écran précédent.
}
private func savePassword() {
if let password = getTypedPassword()
{
// si tout est bon, le manager sauvegarde le password.
SafeBoxManager().saveMasterPassword(password)
}
}
private func getTypedPassword() -> String? {
let password:String?
if let password1 = ui_passwordField1.text,
let password2 = ui_passwordField2.text,
password1.count > 5,
password1 == password2
{
password = password1
} else {
password = nil
beCarefull(presentedViewController: self) // je lance une UIAlertViewController
}
return password
}
func beCarefull (presentedViewController : UIViewController!) {
let alertController = UIAlertController(title: "Attention", message: "Le mot de passe doit avoir 6 caractères minimum et/ou la vérification ne correspond pas au mot de passe saisi.", preferredStyle: .alert)
alertController.addAction(UIAlertAction(title: "Fermer", style: .default, handler: nil))
present(alertController, animated: true, completion: nil)
}
Sauf que quand je veux changer le mot de passe et qu’il n’est pas bon, j’ai bien la UIAlertController qui s’affiche mais se referme 1seconde après.
Comment faire pour attendre que l’utilisateur clique sur le bouton Fermer ?