Я обновляю состояние 'lessonVisible' в моем родительском представлении "LessonOverview" из моего дочернего компонента "LessonView"
Код сам, если работает, как ожидалось, и состояние обновляется в родительском. Однако код не будет работать с предварительным просмотром.
Я получаю сообщение об ошибке ниже в строке 45 в структуре поставщика предварительного просмотра:
Невозможно преобразовать значение типа visibleLessonStruct в ожидаемое тип аргумента 'Binding'
в строке:
LessonView (lessonVisible: visibleLessonStruct (lessonType: .Reading)). previewDevice (PreviewDevice (rawValue: "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"))
}
}