有什么方法可以让切换器对绑定成员进行操作?

Is there any way for a toggle to operate on a member of a binding?

假设我有这样的数据类型:

struct Foo {
   var isOn: Bool
}

我想要一个对 isOn 成员进行操作的切换 - 像这样:

struct MyView: View {

    @Binding var model: Foo

    var body: some View {
        Toggle("is on?", $model.isOn)
    }
}

有什么方法可以做到这一点,还是我必须使 Foo 成为一个可观察的对象,每个成员都被发布?

您没有使用参数标签。修复它以使其编译,它将正常工作。

Toggle("is on?", isOn: $model.isOn)
struct ContentView: View {
  @State var model = Foo(isOn: false)

  var body: some View {
    MyView(model: $model)
  }
}