Fiche 05.01 — NavigationStack, NavigationLink et écran détail
Objectif
Savoir créer une navigation classique SwiftUI : une liste, un élément cliquable, un écran détail, un titre et une toolbar.
1. L’idée à comprendre
Depuis iOS 16, la navigation SwiftUI moderne repose sur NavigationStack. Elle remplace l’ancien NavigationView pour la plupart des nouveaux projets.
Structure classique :
2. Exemple liste vers détail
NavigationLink crée automatiquement le lien entre la cellule et l’écran détail.
3. Passer des données à l’écran détail
Le plus simple est de passer l’objet directement :
C’est très courant pour une liste locale ou déjà chargée.
Dans une app plus avancée, tu peux passer seulement un identifiant :
Puis l’écran détail recharge les données depuis un service ou un ViewModel.
4. Toolbar simple
La toolbar sert souvent à ajouter un bouton “plus”, “modifier”, “réglages” ou “profil”.
5. Navigation et MVVM
La vue peut gérer une navigation simple avec NavigationLink. Pour une navigation déclenchée après une action, par exemple après connexion, on utilisera plutôt une navigation programmatique avec une route ou un état.
Exemple simple :
Points à connaître
NavigationStack doit généralement entourer une grande zone de navigation, pas chaque petite cellule.
NavigationLink est idéal pour les listes vers détail.
Pour une app avec onglets, on met souvent une NavigationStack par onglet.
Résumé
NavigationStackest la base de la navigation SwiftUI moderne.NavigationLinkpermet d’aller vers un écran détail.- On peut passer un objet ou un identifiant à la vue détail.
.navigationTitledéfinit le titre de l’écran..toolbarajoute des actions dans la barre de navigation.