Avatar ·

Comment intercepter l'appui sur le bouton « Retour » dans UINavigationController et exécuter votre code ?

Bonjour ! Je suis débutant en développement iOS avec Swift et j'ai un problème. Dans mon application, il y a un UINavigationController avec plusieurs écrans. Je dois exécuter une action spécifique (par exemple, sauvegarder des données ou afficher une alerte) lorsque l'utilisateur appuie sur le bouton standard « Retour » dans la barre de navigation. J'ai essayé de surcharger la méthode `viewWillDisappear`, mais elle est appelée non seulement lors de l'appui sur « Retour », mais aussi lors de toute transition vers un autre écran (par exemple, lors du push d'un nouveau contrôleur). Cela ne convient pas. Voici un exemple de mon code : ```swift class SecondViewController: UIViewController { override func viewWillDisappear(_ animated: Bool) { super.viewWillDisappear(animated) // Ce code s'exécute à la fois lors de l'appui sur « Retour » et lors de la navigation vers l'avant print("L'écran disparaît") } } ``` J'ai lu qu'on peut utiliser `UIBarButtonItem` et créer son propre bouton « Retour », mais cela fait perdre le style et l'animation standard. Comment intercepter correctement le