SwiftUI-NavigationView错误消息-传递给不带参数的调用的参数

时间:2019-06-14 16:02:03

标签: swift swiftui

我正在尝试在SwiftUI中实现一个非常基本的NavigationView。当我尝试在其他网站上看到的示例代码时,它会在Xcode中生成错误消息。我不确定为什么或如何解决此问题。

我试图清理项目,退出Xcode-Beta并重新启动它,但这没有用。


struct ContentView : View {
    var body: some View {
        NavigationView {
            Text("This is a great app")
        }
    }
}

我认为上面的代码应该可以工作,但是我收到的错误提示:

“传递给调用的参数不带参数。”

有什么想法或建议吗?

6 个答案:

答案 0 :(得分:8)

VStack只能接受10个参数。 如果更多,则会出现错误,因此应将其嵌套。

来自

VStack{

}

VStack{
    VStack{
    }
    VStack{
    }  
}

答案 1 :(得分:3)

正在测试Xcode 11.2.1,它仍然存在问题。我注意到当我继续向我的ContentView中添加原始视图时,我开始收到类似的错误 “传递给调用的参数不带参数”, 在以前起作用的原始视图上,“表达式类型不明确,没有更多上下文”。 例如,当我更换时,

ScrollView {
            VStack {
        Text
        Button
        Image
        Text
        Button
        Image
        Text
        Button
        Image
        ...
        }
    }

       ScrollView {
            VStack {
        VStack {
            Text
            Button
            Image
        }
        VStack {
            Text
            Button
            Image
        }
        VStack {
            Text
            Button
            Image
        }
        ...
        }

我的代码开始编译并再次运行。

答案 2 :(得分:3)

签入您的应用是否有任何名为 NavigationView 的 Swifui 类。 同样,当您从 NavigationView 跳转到定义时,它应该引用:

  @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 7.0, *)
  public struct NavigationView<Content> : View where Content : View {

  public init(@ViewBuilder content: () -> Content)

/// The type of view representing the body of this view.
///
/// When you create a custom view, Swift infers this type from your
/// implementation of the required `body` property.
public typealias Body = Never
}

答案 3 :(得分:2)

我也有同样的错误信息,弄清楚我做错了什么,然后觉得自己像个白痴。哈哈。

看看: Error

我花了一段时间才弄清楚我的结构与先前定义的结构VStack是同一个名字。糟糕!

所以我想知道您的项目中是否也有一个文件可以做到这一点。

答案 4 :(得分:0)

@Matteo Pacini帮助我找到了答案。当我开始一个新的Xcode项目时,只是为了测试所有工作之上的代码。在我的另一个项目中使用SwiftUI进行实验时,我有很多文件,并且正在测试许多不同的代码,由于某种原因,XCode始终会生成此错误。

当我在一个新项目中尝试一切时,它都起作用了。测试时需要注意的事项。希望这可以帮助其他人避免类似的问题。

答案 5 :(得分:0)

当我不小心尝试重新定义Text结构时,我发现了这个问题。检查您对自定义类的命名是否与SwiftUI中的命名相同。