SwiftUI Tutorial 2024: Master Navigation - NavigationStack, NavigationPath & NavigationDestination
summary
Shows how NavigationStack plus NavigationPath and NavigationDestination replace NavigationView: a worked demo (continents → countries → detail) eliminates unwanted eager view initialization, supports programmatic pushes, and encodes the path for state restoration. Builds a Router enum (hashable + codable) to push/pop/reset and wires it into child views; uses NavigationSplitView for iPad sidebar layouts. Notes concrete limits: root view sits outside the stack, no built‑in pop‑to‑arbitrary, limited nav bar customization, and no direct modal/tab integration. Code examples compile and the demos resolve the initialization and programmatic navigation issues.
AI-written summary · about
chapters (11)
- 0:00Introduction and agenda
- 1:37Fundamentals of navigation
- 3:27History of iOS navigation
- 5:37Limitations of NavigationView
- 8:24Demonstrating navigation issues
- 10:30Introduction to NavigationStack
- 13:10Implementing NavigationStack
- 20:57Using NavigationSplitView
- 27:37Programmatic navigation
- 29:15Advanced navigation patterns
- 34:32Limitations, comparisons, and takeaways
related talks
32mSwiftUI Navigation Demystified
50mSwiftUI Navigation: Simple, Native, Declarative
44mNavigation in SwiftUI
47mFlutter Navigation 2.0 in Real Life
31mModel-driven navigation with Jetpack Compose – From zero to hero
49mNavigation Component, feedback from the trench
21mNavigation in Flutter - the not-so-obvious parts
22mMaximally Modular Apps with React Navigation
