問題タブ [observableobject]

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 投票する
1 に答える
73 参照

swift - ViewRouter および ObservableObjects または environmentObject から SwiftUI 内の 3 つのビューすべてを指す

私は最近 SwiftUI を使用しており、アプリ内の他の「ページ」または「画面」に変更するための 2 つのボタンを含む、rootView として ContentView.swift を書き込むことができました。現在、コード内の 2 つのビュー間を移動できます。各「画面」Swiftファイルで ObservableObjects(viewRouter : ViewRouter) を使用しました。ユーザーが表示できるようにポップアップする 3 番目の画面を作成することにしました。同じ構造とそのビューを表示する方法を含めた後: 3 番目のビューのボタンのアクションは実行されていません。コンパイルにエラーはなく、アプリがビルドされます! ただし、FirstScreen 内のボタンをクリックすると、ThirdScreen は表示されません。

メイン ビュー ContentView は次のとおりです。

これは、以下の構造を持つ FirstScreen ファイルです。

これは、ViewRouter からロードする必要がある私の ThirdScreen のコードと、FirstScreen の Swift ファイルからボタンをクリックすることによる変更です。

これは、画面を管理するために正常に動作する ViewRouter.swift です。

最後に、正しく動作している SecondScreen.swift. このファイルはおそらく冗長ですが、このファイル内で何か良いことが機能している可能性を考えて含めました。ボタンは内部で機能し、ビューを変更します。

ここで私を助けてくれて本当にありがとう。以下のように、引き続き Screen ファイルを作成したいと思っています。この問題のトラブルシューティングを続けているため、迅速に対応いたします。ありがとうございました!