Avatar
class C: ObservableObject { @Published var value: Int init(value: Int) { self.value = value } } struct C1View: View { @StateObject var c: C = .init(value: 0) var body: some View { Stepper("C1: \(c.value)", value: $c.value) } } struct C2View: View { @ObservedObject var c: C = .init(value: 0) var body: some View { Stepper("C2: \(c.value)", value: $c.value) } } struct C3View: View { @State var c: C = .init(value: 0) var body: some View { InnerView(c: c) } private struct InnerView: View { @ObservedObject var c: C var body: some View { Stepper("C3: \(c.value)", value: $c.value) } } } @State@ObservedObject を組み合わせて @StateObject 相当の挙動を実現できました。↑の C1ViewC3View が同じ挙動します。 (edited)
👀 1