Events SwiftUI如何在@Published var发生变化时获取事件
我使用库管理器显示带有日期范围选择器的日历。但如果参数rkManager.endDate从nil设置为日期,则无法获取事件 如果设置了范围,我想激活和停用dateRange的addButton 如果发生更改,我希望从中获取触发器的对象:Events SwiftUI如何在@Published var发生变化时获取事件,events,triggers,swiftui,Events,Triggers,Swiftui,我使用库管理器显示带有日期范围选择器的日历。但如果参数rkManager.endDate从nil设置为日期,则无法获取事件 如果设置了范围,我想激活和停用dateRange的addButton 如果发生更改,我希望从中获取触发器的对象: class RKManager : ObservableObject { @Published var startDate: Date! = nil @Published var endDate: Date! = nil 现在我的观点是: im
class RKManager : ObservableObject {
@Published var startDate: Date! = nil
@Published var endDate: Date! = nil
现在我的观点是:
import SwiftUI
struct DateRangeView: View {
@State var rkManager = RKManager(calendar: Calendar.current, minimumDate: Date(), maximumDate: Date().addingTimeInterval(60*60*24*365), mode: 1)
@State private var addNewDateRangeIsDisabled: Bool = true
var body: some View {
VStack(alignment: .leading) {
RKViewController(isPresented: .constant(false), rkManager: self.rkManager )
Button(action: {
if self.rkManager.endDate != nil
&& self.rkManager.startDate != nil
{
self.addNewDateRange()
}
}) {
HStack {
Image(systemName: "plus.circle.fill")
.resizable()
.frame(width: 20, height: 20)
Text("Add new DateRange")
}
}
.padding()
.disabled(self.rkManager.endDate == nil) // --> here i want to change if the value changed
}.navigationBarTitle("TestRoomName", displayMode: .inline)
}
observeObject
应在视图中由ObservedObject
动态属性包装表示,以便在发布属性更改时更新视图
这是修理
struct DateRangeView: View {
@ObservedObject var rkManager = RKManager(calendar: Calendar.current, minimumDate: Date(), maximumDate: Date().addingTimeInterval(60*60*24*365), mode: 1)
// ... other code