Swiftui 无法转换类型为';可访问的SONSonstruct';到预期的参数类型';装订<;visibleLessonStruct?>;
我正在从子组件“LessonView”更新父视图“LessonOverview”中的状态“lessonVisible” 如果按预期工作,代码将自动运行,并且状态在父级中更新。但是,该代码不能与预览一起使用 我在预览提供程序结构的第45行遇到以下错误: 无法将“visibleLessonStruct”类型的值转换为预期值 参数类型“绑定” 在线: LessonView(lessonVisible:visibleLessonStruct(lessonType: .Reading)).previewDevice(previewDevice(原始值:“iPhone XS”)) 我如何解决这个问题Swiftui 无法转换类型为';可访问的SONSonstruct';到预期的参数类型';装订<;visibleLessonStruct?>;,swiftui,Swiftui,我正在从子组件“LessonView”更新父视图“LessonOverview”中的状态“lessonVisible” 如果按预期工作,代码将自动运行,并且状态在父级中更新。但是,该代码不能与预览一起使用 我在预览提供程序结构的第45行遇到以下错误: 无法将“visibleLessonStruct”类型的值转换为预期值 参数类型“绑定” 在线: LessonView(lessonVisible:visibleLessonStruct(lessonType: .Reading)).previewD
import Foundation
import SwiftUI
struct visibleLessonStruct{
var lessonType: LessonType
}
enum LessonType{
case Reading, Listening, Practice
}
struct LessonView: View {
@Binding var lessonVisible : visibleLessonStruct!
var body: some View {
GeometryReader { geometry in
VStack{
HStack{
Spacer()
Button(action: {
print("Close button tapped!")
self.lessonVisible = nil
}) {
Image("cross").renderingMode(.original).resizable().frame(width: 40, height: 40)
}
}.padding(10).padding(.trailing, 10)
Spacer()
}.background(Color.white).statusBar(hidden: true)
}
}
}
struct LessonView_Previews: PreviewProvider {
static var previews: some View {
LessonView(lessonVisible: visibleLessonStruct(lessonType: .Reading)).previewDevice(PreviewDevice(rawValue: "iPhone XS"))
}
}
尝试将其包装在
常量中,如下所示:
struct LessonView\u预览:PreviewProvider{
静态var预览:一些视图{
LessonView(lessonVisible:.常量(visibleLessonStruct(lessonType:.读取))).previewDevice(previewDevice(原始值:“iPhone XS”))
}
}
在预览中使用常量来模拟可绑定变量和状态变量的行为