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

mik*_*ing 3 swift swiftui

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

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


struct ContentView : View {
    var body: some View {
        NavigationView {
            Text("This is a great app")
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我认为上面的代码应该可以工作,但我得到的错误说:

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

有什么想法或建议吗?

Mar*_*ens 11

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

看一看: 错误

我花了一段时间才发现我的 struct 与之前定义的 struct 名称相同VStack哎呀!

所以我想知道您的项目中是否有一个文件也执行了此操作。


小智 8

VStack 只能接受 10 个参数。 如果多了就会出错,所以应该嵌套。

VStack{

}
Run Code Online (Sandbox Code Playgroud)

VStack{
    VStack{
    }
    VStack{
    }  
}
Run Code Online (Sandbox Code Playgroud)


Bor*_*ris 5

测试 Xcode 11.2.1 仍然有问题。我注意到,当我不断向 ContentView 添加原始视图时,我开始在之前工作的原始视图上收到诸如“传递给不带参数的调用的参数”、“表达式类型在没有更多上下文的情况下不明确”等错误。例如,当我更换时,

ScrollView {
            VStack {
        Text
        Button
        Image
        Text
        Button
        Image
        Text
        Button
        Image
        ...
        }
    }
Run Code Online (Sandbox Code Playgroud)

       ScrollView {
            VStack {
        VStack {
            Text
            Button
            Image
        }
        VStack {
            Text
            Button
            Image
        }
        VStack {
            Text
            Button
            Image
        }
        ...
        }
Run Code Online (Sandbox Code Playgroud)

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


小智 5

检查您的应用程序是否存在名为 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
}
Run Code Online (Sandbox Code Playgroud)


mik*_*ing 0

@Matteo Pacini 帮助我找到了答案。当我启动一个新的 Xcode 项目只是为了测试上面的代码时,一切正常。我有很多文件,并且在我的其他项目中试验 SwiftUI 时测试了很多不同的代码,并且由于某种原因 XCode 总是生成此错误。

当我在新项目中尝试所有内容时,它都有效。测试时需要注意的事项。希望这可以帮助其他人避免类似的问题。