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

SwiftUI-NavigationView错误消息-传递给不带参数的调用的参数,swift,swiftui,Swift,Swiftui,我正在尝试在SwiftUI中实现一个真正基本的NavigationView。当我尝试在其他网站上看到的示例代码时,它会在Xcode中生成错误消息。我不知道为什么或者如何解决这个问题 我曾尝试清理该项目,退出Xcode测试版并重新启动它,但没有成功 struct ContentView : View { var body: some View { NavigationView { Text("This is a great app")

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

我曾尝试清理该项目,退出Xcode测试版并重新启动它,但没有成功


struct ContentView : View {
    var body: some View {
        NavigationView {
            Text("This is a great app")
        }
    }
}
我认为上面的代码应该可以工作,但我得到的错误是:

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


有什么想法或建议吗?

@Matteo Pacini帮我找到了答案。当我启动一个新的Xcode项目只是为了测试代码时,一切都起了作用。我有很多文件,在我的另一个项目中试验SwiftUI时测试了很多不同的代码,出于某种原因,XCode总是产生这个错误


当我在一个新项目中尝试了所有东西时,它成功了。测试时要注意的一些事情。希望这能帮助其他人避免类似的问题。

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

正在测试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
        }
        ...
        }

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

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


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

看一看:

我花了一段时间才发现我的结构与以前定义的结构同名
VStack


所以我想知道你的项目中是否也有这样的文件。

签入你的应用程序是否有名为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
}
@可用(iOS 13.0、macOS 10.15、tvOS 13.0、watchOS 7.0、*)
公共结构导航视图:视图,其中内容:视图{
public init(@ViewBuilder content:()->content)
///表示此视图主体的视图类型。
///
///创建自定义视图时,Swift会根据您的
///所需“body”属性的实现。
public typealias Body=Never
}

在我这方面编译得很好-错误可能在别处。铿锵的错误目前有点误导人。@MatteoPacini谢谢!你给了我一个重新开始一个干净的Xcode项目的想法,这就解决了问题。仍然有点奇怪,但考虑到我们正处于测试阶段,我会将此解决方案添加到我的工具包中,并立即在一个干净的项目中进行测试(如果它们应该工作)。一个简单的“产品>干净构建文件夹”为我做了这件事。为了一个有趣的小故事,大约一年前,我试着去学习斯威夫特,当时我正在浏览斯威夫特,现在我又重新开始了。我清楚地记得大约一年前,在一个教程之后,添加了一个间隔符,结果却抛出了一个错误,并且非常困惑。我一点也不知道,答案很简单,因为我超出了争论的限度。好东西
VStack{
    VStack{
    }
    VStack{
    }  
}
  @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
}