Nous retournons maintenant au Storyboard, nous sélectionnons ViewControllerC et nous glissons du contrôleur de vue vers le proxy Exit.

Glissement vers le proxy Exit

Dans la popup, nous sélectionnons notre méthode de déroulement.

Sélectionner la méthode de déroulement

Enfin, nous donnons à notre segue de déroulement un identifiant.

La segue de déroulement a maintenant un identifiant et est connectée à la méthode de déroulement.

Maintenant tout ce qui reste à faire est de déclencher la segue de déroulement quand notre bouton est pressé.

@IBAction func backToATapped(_ sender: Any) {
performSegue(withIdentifier: "unwindToA", sender: self)
}

Nous avons terminé ! 🥂

Unwind segue

Quelques détails techniques

Avant de conclure cet article, je veux regarder ce que le runtime fait sous le capot.

La localisation de la destination est fondamentalement une promenade dans la hiérarchie du contrôleur de vue. Le parent du contrôleur de vue actuel ou presentingViewController sera le prochain.

À chaque arrêt, le runtime doit également vérifier si le contrôleur de vue a des enfants parce que la méthode de déroulement pourrait être contenue dans l’un d’eux. Ceci est fait en appelant la méthode allowedChildrenForUnwinding(from :), qui renvoie un tableau de UIViewControllers qui sont les enfants du contrôleur de vue.

Cependant, nous ne voulons pas vérifier la branche qui contient le contrôleur de vue source, puisque nous venons de là. On évite cela en appelant la méthode childContaining(_ :), qui renvoie le contrôleur de vue enfant qui contient la source de la segue unwind. Celui-ci est retiré du tableau.

Si le tableau retourné contient des enfants, le processus ci-dessus est effectué sur eux aussi. Il se termine si la destination est trouvée.

Si le tableau retourné est vide, la méthode canPerformUnwindSegueAction(_:from:sender 🙂 est appelée, qui vérifie si le contrôleur de vue contient la méthode unwind.

Si c’est le cas, nous avons atteint notre destination et le processus est terminé. Si ce n’est pas le cas, nous remontons d’un cran dans la hiérarchie des contrôleurs de vue et effectuons les mêmes étapes.

Conclusion

J’espère que vous avez apprécié ce court tutoriel sur les segues unwind, merci d’avoir pris le temps de le lire.

Articles

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.