我回来了另一个问题。我正在遵循此指南:https : //medium.com/@fs.dolphin/passing-data-between-views-in-swiftui-793817bba7b1
一切工作都从中进行,但是SecondView_Previews抛出了错误Missing argument for parameter 'message' in call
。这是我的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.
}
}
它尝试将其更改为SecondView(message:String),错误更改为“无法将类型'String.Type'的值转换为预期的参数类型'String'”
有人可以解释我做错了什么,或者如何正确设置预览。没有预览时一切正常。提前致谢!
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
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句