NavigationStack управляет стеком; NavigationPath / navigationDestination дают type-safe push по значениям, заменяя устаревший NavigationView+Link-only подход.
Разбор
- Храните path в state для deep link и programmatic navigate.
navigationDestination(for:) мапит тип → view.
- Toolbar и title на каждом уровне.
- Старый NavigationView оставляют для поддержки старых OS при необходимости.
Пример
NavigationStack(path: $path) {
List(items) { item in
NavigationLink(value: item) { Text(item.title) }
}
.navigationDestination(for: Item.self) { DetailView(item: $0) }
}
Итог
NavigationStack + path — актуальная value-based навигация SwiftUI.