Swiftui 如何在一个VStack中添加两个NavigationLink
我试图在一个VStack中添加两个NavigationLink,但它报告了一个未知错误Swiftui 如何在一个VStack中添加两个NavigationLink,swiftui,Swiftui,我试图在一个VStack中添加两个NavigationLink,但它报告了一个未知错误 struct LoginView: View { @State private var selector = "" var body: some View { NavigationView { VStack(spacing: 30) { // error `Unable to infer complex closure ret
struct LoginView: View {
@State private var selector = ""
var body: some View {
NavigationView {
VStack(spacing: 30) { // error `Unable to infer complex closure return type; add explicit type to disambiguate`
NavigationLink(destination: OneView(), tag: "one",
selection: $selector) { EmptyView() }
NavigationLink(destination: TwoView(), tag: "two",
selection: $selector) { EmptyView() }
Button("change to view") {
self.selector = "one"
}
}
.navigationBarTitle("Test Navigation")
}
}
}
通过签名进行选择应该是可选的,所以这里有一个修正
struct LoginView: View {
@State private var selector: String? = "" // << here
// ... other your code
struct LoginView:View{
@状态私有变量选择器:字符串?=“”//为什么需要向其添加选项?因为这是NavigationLink
constructor-public init(目的地:目的地,标记:V,选择:绑定,@ViewBuilder标签:()->标签)的要求,其中V:Hashable