Comment puis-je afficher un message dans Swift qui disparaît après 3 secondes ou peut être annulé par l'utilisateur voit tout de suite?

Dans ma swift application j'ai un UIViewController avec un seul bouton.

Ce bouton appelle une fonction qui appelle une popup qui disparaît au bout de 3 secondes. Aussi, après cette époque, il affiche un message à la console. Le code de cette fonction est la suivante:

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


    let alertController = UIAlertController(title: title, message: message, preferredStyle: .Alert)
    self.presentViewController(alertController, animated: true, completion: nil)
    let delay = 3.0 * Double(NSEC_PER_SEC)
    let time = dispatch_time(DISPATCH_TIME_NOW, Int64(delay))
    dispatch_after(time, dispatch_get_main_queue(), {
        alertController.dismissViewControllerAnimated(true, completion: nil)
    print("popup disappeared")
    })

}

Qui fonctionne très bien, mais j'ai voulu introduire une certaine amélioration. Je voulais y ajouter un bouton permettant d'annuler cette popup immédiatement puis éviter d'afficher le message dans la console. Est-il un moyen de l'affichage du popup pour l'utilisateur? Aussi existe - il un moyen de montrer dans ce message le compteur avec le nombre de secondes de course qui montrent combien il reste de temps jusqu'à ce que la fenêtre contextuelle disparaît?

Voici une semblable réponse je l'ai écrit dans Objectice C stackoverflow.com/questions/36048240/.... Essentiellement, vous devez utiliser un NSTimer le compte à rebours et de rejeter l'alerte après le temps nécessaire
Qui a l'air vraiment prometteur, je dois l'avouer 🙂 Est-il une chance que vous avez un smilar code swift? Je ne suis pas (encore) familier avec l'obj-c 😐

OriginalL'auteur user3766930 | 2016-04-19