带有SwiftUI的NavigationLink:表达式类型不明确,没有更多上下文

莫哈末塞克

我正在尝试使用我制作的按钮导航到另一个视图。我为其他视图完成了此操作,但是将其应用于下一个视图时,显示错误“表达式类型在没有更多上下文的情况下是模棱两可的”。我从其他人那里读到,SwiftUI中的错误有时不会出现在正确的行上,而可能发生在其他地方。

这是我编写的与NavigationLink一起使用的代码

struct ContentView: View {
    @State private var isActive: Bool = false
    @State private var username: String = ""
    @State private var email: String = ""
    @State private var password: String = ""

    var body: some View {

        NavigationView{
            VStack {
                NavigationLink(destination: signUp(), isActive: self.$isActive) {
                    Text("")
                }

                Image("versLogo")
                    .resizable()
                    .frame(width: 400, height: 400)
                TextField("Username", text: $username)
                TextField("Email", text: $email)
                TextField("Password", text: $password)


                Button(action: {}) {
                    Text("Login")
                }
                Spacer()
                //button for moving to next view
                Button(action: {
                    self.isActive = true
                }) {
                    Text("Don't have an account?")
                }

            }//VStack
        }//nav
    }
}

现在,这是我编写的以相同方式应用它的代码,但是却给了我这个错误。NavigationLink中的文本没有任何内容,因为我使用的是按钮,所以将其留空。

struct signUp: View {
    @State var isShowingImagePicker = false
    //for the next view
    @State private var isActive: Bool = false

    @State private var username: String = ""
    @State private var email: String = ""
    @State private var password: String = ""
    @State private var confirm: String = ""


    var body: some View {
        NavigationLink{
            VStack {
                NavigationLink(destination: DOB_finalSignUp(), isActive: self.$isActive) {
                    Text("") //ERROR is on this line
                }

                Image(uiImage: UIImage())
                    .frame(width: 200, height: 200)
                    .border(Color.black, width: 1)

                Button(action: {
                    self.isShowingImagePicker.toggle()
                }, label:  {
                    Text("Select Image")
                })


                TextField("Username", text: $username)
                TextField("Email", text: $email)
                TextField("Password", text: $password)
                TextField("Confirm Password", text: $confirm)

                //button for moving to next view
                Button(action: {
                    self.isActive = true
                }) {
                    Text("Continue")
                }
            }//VStack
        }//nav
    }
}
莫伊塔巴·侯赛尼(Mojtaba Hosseini)

您使用NavigationLink而不是inside的NavigationView第一行var bodystruct signUp

所以这:

var body: some View {
    NavigationLink{
    ,,,
    }//nav
}

应该:

var body: some View {
    NavigationView{
    ,,,
    }//nav
}

NavigationLink就像是导航的触发器,同时NavigationView负责处理视觉,动画和其他有关导航的内容。

并且请注意,由于SwiftUI还很年轻,因此Xcode无法准确检测出问题所在,有时还会显示错误或不清楚的消息。但是,苹果一直在不断努力,并不断改进其发布。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Swiftui错误:表达式类型不明确,没有更多上下文

Xcode:表达式类型不明确,没有更多上下文

表达式类型'()'不明确,没有XCTAssertEqual的更多上下文

init CBCentralManager:表达式类型不明确,没有更多上下文

EventMonitor .LeftMouseDownMask表达式类型不明确,没有更多上下文

表达式类型不明确,没有更多上下文

表达式类型'Set <NSObject>'不明确,没有更多上下文

表达式类型不明确,没有更多上下文(枚举)

表达式类型'(_,_.Stride)-> _'不明确,没有更多上下文

修复“没有更多上下文的表达式类型不明确”

在 dataTask 中没有更多上下文的表达式类型不明确

没有更多上下文的表达式类型不明确 - .filter

在Swift中-表达式类型不明确,没有更多上下文

SwiftUI抱怨表达式类型不明确,而NavigationBarItems中没有更多上下文

SwiftUI:在视图之间传递ObservableObject时,表达式类型不明确,没有更多上下文

表达式类型不明确,没有更多上下文上下文

表达类型不明确,没有更多上下文错误 SwiftUI

表达式类型不明确,在返回“some View”的函数上没有更多上下文

Swift 2调用enumerateTagsInRange时“表达式类型不明确,没有更多上下文”

completeHandler-在没有更多上下文的情况下表达式的类型不明确

测试在抛出的函数上返回“表达式类型不明确,没有更多上下文”

使用 coredata 时,没有更多上下文 Swift 的表达式类型不明确

Swift闭包中的“表达式类型不明确,没有更多上下文”

通过NSAttributedString进行删除:“表达式类型不明确,没有更多上下文”

在 Swift3 中没有更多上下文的表达式类型不明确

CCCrypt - 在 iOS 14 更新后没有更多上下文的表达式类型不明确

MTKView:表达式类型不明确,在commandBuffer.present上没有更多上下文

泛型函数:表达式类型不明确,没有更多上下文

迅速的for循环“表达式类型'[[[String:String]]]'不明确,没有更多上下文