【发布时间】:2023-01-24 23:23:36
【问题描述】:
我可以通过 SwiftUI 中的 Route 枚举为我的 NavigationStack 传递变量吗?在此示例中,我试图通过 Route 枚举将 input: String 传递到我的视图 @State var output: String 中。
@available(iOS 16.0, *)
enum Route: Hashable {
case first(input: String)
@ViewBuilder
func view(_ path: Binding<NavigationPath>) -> some View{
switch self {
//ERROR HERE: cannot find input var to pass to view
case .first: AView1(output: input)
}
}
}
@available(iOS 16.0, *)
struct AView1: View {
@State var output: String
@State var path: NavigationPath = .init()
var body: some View {
NavigationStack(path: $path){
VStack{
Text(output)
NavigationLink(value: Route.first(input: "Hello"), label: {Text("Click")})
}
.navigationDestination(for: Route.self){ route in
route.view($path)
}
}
}
}
【问题讨论】:
标签: swiftui