简体   繁体   English

调用中缺少参数“消息”的参数

[英]Missing argument for parameter 'message' in call

I'm back with another question.我带着另一个问题回来了。 I was following this guide: https://medium.com/@fs.dolphin/passing-data-between-views-in-swiftui-793817bba7b1我正在关注本指南: https://medium.com/@fs.dolphin/passing-data-between-views-in-swiftui-793817bba7b1

Everything worked from it, but the SecondView_Previews is throwing an error Missing argument for parameter 'message' in call .一切正常,但 SecondView_Previews Missing argument for parameter 'message' in call Here is my ContentView and SecondView这是我的 ContentView 和 SecondView

// ContentView
import SwiftUI

struct ContentView: View {
    @State private var showSecondView = false
    @State var message = "Hello from ContentView"
    
    var body: some View {
        VStack {
            Button(action: {
                self.showSecondView.toggle()
            }){
               Text("Go to Second View")
            }.sheet(isPresented: $showSecondView){
                SecondView(message: self.message)
        }
            Button(action: {
                self.message = "hi"
            }) {
                Text("click me")
            }
        }
    }
}
struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
import SwiftUI

struct SecondView: View {
    @State var message: String
    
    var body: some View {
        Text("\(message)")
    }
}
 struct SecondView_Previews: PreviewProvider {
    static var previews: some View {
        SecondView() // Error here: Missing argument for parameter 'message' in call.
    }
 }

It tried changing it to SecondView(message: String) and the error changes to "Cannot convert value of type 'String.Type' to expected argument type 'String'"它尝试将其更改为 SecondView(message: String) 并将错误更改为“无法将'String.Type'类型的值转换为预期的参数类型'String'”

Can someone please explain what I'm doing wrong, or how to correctly set up the preview.有人可以解释我做错了什么,或者如何正确设置预览。 It all works fine when there's no preview.没有预览时一切正常。 Thanks in advance!提前致谢!

struct ContentView: View {
    @State var message: String //Define type here 
        var body: some View {
            Text("\(message)")
        }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView(message: "Some text") //Passing value here 
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM