Swiftui 无法转换类型为';可访问的SONSonstruct';到预期的参数类型';装订<;visibleLessonStruct?>;

Swiftui 无法转换类型为';可访问的SONSonstruct';到预期的参数类型';装订<;visibleLessonStruct?>;,swiftui,Swiftui,我正在从子组件“LessonView”更新父视图“LessonOverview”中的状态“lessonVisible” 如果按预期工作,代码将自动运行,并且状态在父级中更新。但是,该代码不能与预览一起使用 我在预览提供程序结构的第45行遇到以下错误: 无法将“visibleLessonStruct”类型的值转换为预期值 参数类型“绑定” 在线: LessonView(lessonVisible:visibleLessonStruct(lessonType: .Reading)).previewD

我正在从子组件“LessonView”更新父视图“LessonOverview”中的状态“lessonVisible”

如果按预期工作,代码将自动运行,并且状态在父级中更新。但是,该代码不能与预览一起使用

我在预览提供程序结构的第45行遇到以下错误:

无法将“visibleLessonStruct”类型的值转换为预期值 参数类型“绑定”

在线:

LessonView(lessonVisible:visibleLessonStruct(lessonType: .Reading)).previewDevice(previewDevice(原始值:“iPhone XS”))

我如何解决这个问题

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”))
}
}
在预览中使用常量来模拟可绑定变量和状态变量的行为