前提
SwiftUIとSwiftを使いObservableObjectのtoggleの状態を他のclassから参照し表示したいと考えています。
インスタンスにおいての問題等がよくわかっておらず非常に悩んでおります。
実現したいこと
上記の通りとなります。
- [ ]ClassModel: ObservableObjectの@Published var flagの状態を他のclass(ClassModelTwo: NSObject)から参照しprint文で表示したい
該当のソースコード
SwiftUI
1struct ContentView: View { 2 @StateObject var classModel = ClassModel() 3 var body: some View { 4 VStack { 5 Toggle("", isOn: $classModel.flag) 6 .labelsHidden() 7 .onChange(of: classModel.flag) { newValue in 8 classModel.testFlag() 9 } 10 Text("Hello, world!") 11 } 12 .padding() 13 .environmentObject(classModel) 14 } 15} 16 17class ClassModel: ObservableObject { 18 19 @Published var flag = true 20 func testFlag() { 21 // ClassModelTwoのtestFlagを実行したい 22 .testFlag() 23 } 24 25} 26 27class ClassModelTwo: NSObject { 28 29 func testFlag() { 30 print(// ClassModelの@Published var flag = true/falseの値を表示したい) 31 } 32}
試したこと
インスタンスの生成などの仕方や問題であるとは思うのですが、よくわかっておらず非常に悩んでおります。
補足情報(FW/ツールのバージョンなど)
Xcode 14.1 (14B47b)

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。