import SwiftUI extension Binding { static func readOnly<Value>(_ binding: Binding<Value>) -> Binding<Value> { .init(get: { binding.wrappedValue }, set: { _ in }) } }
ObservableObject
の方で↓みたいに read-only にしたい場合は、 $foo.a
みたいにして Binding
が取れないから不便ですね・・・。 class Foo: ObservableObject { @Published private(set) var a: Int = 0 ... }
@ObservedObject
に projectedValue
以外の read-only のための API を作って、 _foo.readOnly.a
みたいに取得できるようにすればいいのかな。 (edited)