問題タブ [environmentobject]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
260 参照

swiftui - 致命的なエラーを回避する方法:タイプのObservableObjectがありません...SwiftUIで?

この非常に単純な例 (バニラの SwiftUI プロジェクト、ContentView と SceneDelegate の 1 行のみを編集) に切り詰めました。簡単な ObservableObject といくつかの画面用のビューを設定します。最新の Xcode 11.4 とシミュレーターでは非常に簡単にクラッシュします。

私は何か間違ったことをしていますか?それともSwiftUIのバグですか?最初は正常に動作しているように見えますが、子ビューに再度移動するとクラッシュします。正確な動作は非決定論的ですが (2 回目または 3 回目のナビゲーションでクラッシュする可能性があります!)

0 投票する
1 に答える
989 参照

swiftui - UIViewControllerRepresentable オブジェクトから @Environment オブジェクトにアクセスする

このアプローチを使用して、カメラをswiftUIに組み込みました: https://medium.com/@gaspard.rosay/create-a-camera-app-with-swiftui-60876fcb9118

UIViewControllerRepresentable は PageFourView クラスによって実装されます。PageFourView は、親 View の TabView の 1 つです。SceneDelegate から親ビューに@EnvironmentObject渡され、次に PageFourView に渡されます。しかし、@EnvironmentObjectPageFourView の makeUIViewController メソッドからアクセスしようとすると、エラーが発生します。

致命的なエラー: データ型の ObservableObject が見つかりません。このビューの先祖として、データの View.environmentObject(_:) が見つからない可能性があります

... context.environment から @Environment オブジェクトを確認できますが。これが私のコードです:

PageFourView が呼び出される親ビューは次のとおりです。