我有三个viewsA、B 和 C。用户可以从 A 导航到 B,也可以从 A 导航到 C。用户可以从 B 导航到 C。现在我想区分用户是从 A 到 C 还是从 B 到 C,所以我正在研究如何在 NavigationStack 中传递额外的数据,这可以帮助我区分
下面是我的代码
import SwiftUI
@main
struct SampleApp: App {
@State private var path: NavigationPath = .init()
var body: some Scene {
WindowGroup {
NavigationStack(path: $path){
A(path: $path)
.navigationDestination(for: ViewOptions.self) { option in
option.view($path)
}
}
}
}
enum ViewOptions {
case caseB
case caseC
@ViewBuilder func view(_ path: Binding<NavigationPath>) -> some View{
switch self{
case .caseB:
B(path: path) …Run Code Online (Sandbox Code Playgroud)