Direct navigation stack manipulation with NavigationPath
In the following example, we will demonstrate that NavigationPath
is essentially a type-erased collection, by appending directly to the stack and directly removing items from the stack. With the buttons labeled Jump to, we will add a corresponding number of Int
items to the stack, forcing navigation to the corresponding last view. We can navigate back, as usual, to the preceding item on the stack, until we reach the root, our home view. Or instead, we can click the button labeled Go Back Directly to Home to remove all the preceding items from the stack.
We also show a simpler navigation for items shown as a list. For those, we use String
as a type, and we use NavigationLink
with a value, thus pushing just one element on the stack. If we use navpath.removeLast()
, that will have the same effect of navigating to the previous view with the back button. Here is our code example:
import SwiftUI struct ContentView: View { ...