Этот класс получает и отправляет сетевые запросы, обновляя массив таймеров
struct ScheduleTimer: Identifiable {
var id: Int
var name: String
@State var start: Date
@State var end: Date
@State var isActive: Bool
}
class ScheduleController: ObservableObject, NetworkDelegate {
var didChange = PassthroughSubject<Void, Never>()
@Published var timers = [ScheduleTimer]()
...
Это мое представление SwiftUI, здесь я хочу, чтобы указатели даты и переключатель меняли значения, хранящиеся в массиве таймеров, но я не не знаю, как go об этом в SwiftUI, используя timer.start, timer.end и timer.isActive выдает ошибки.
struct ScheduleView: View {
@ObservedObject var scheduleController = ScheduleController()
var body: some View {
NavigationView {
Form {
ForEach(scheduleController.timers) { timer in
Section(header: Text(timer.name)){
DatePicker("From", selection: timer.start, displayedComponents: .hourAndMinute)
DatePicker("To", selection: timer.end, displayedComponents: .hourAndMinute)
Toggle(isOn: timer.isActive) {
Text("")
}.toggleStyle(DefaultToggleStyle())
}
}
}
}
}
}