SwiftUI是否可以使用Toggle更新ObservableObject

时间:2020-06-10 17:22:44

标签: swiftui toggle observedobject

我在视图中有一个日期选择器,一旦用户输入日期并保存,我就会显示一个带有切换的新视图。理想情况下,一旦用户按下切换开关,我希望能够使用已经输入的日期字段设置提醒。 我已经创建了一个ObservableObject

import SwiftUI
import Combine

class UpdateVM: ObservableObject{

    @Published var reminderDate = Date() {didSet {
                 print("set")
    }

我在视图中声明为:

@ObservedObject var updateVM  = UpdateVM()


    if(self.isToggle){
       updateVM.reminderDate = flossTheCat.reminderDate!
    }

我收到错误消息“类型'()'不符合'视图';只有struct / enum / class类型可以符合协议”

这在按下按钮的操作区域中可以正常工作,但是我看不到是否有可能对切换触发器做出反应-切换控件是否只是设计来反映UI更改,我应该改为实现按钮吗?即使从整体上讲有意义,也很难适应SwiftUI范例

谢谢!

根据请求-这是我希望的工作位置(通过按钮)

trailing: Button(action: {
    do {
        let flossingReminders = FlossingPets.init(context: self.context)
        self.flossingVM.reminderDate = self.flossingDate

        if self.context.hasChanges {
            try self.context.save()
        }
    }catch {
        print(error)
    }

0 个答案:

没有答案