問題タブ [observedobject]

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 に答える
104 参照

swiftui - ObservedObject が変数の変更を受け取らない

関数が呼び出されると変更される Published 変数があります。クラス内で変数を印刷すると、変数が設定されていることがわかりますが、ビューが変更されず、変数を印刷すると、変数を最初に設定したものだけが印刷されます。

これについていくつかの同様の投稿があったことは知っていますが、それらを調べた後でも、何が間違っているのかまだわかりません。

コードは次のとおりです:(ここでは関係ないと思われるマイナスビット)

変数を変更するために呼び出される関数を含むクラス

表示して更新

関数を呼び出すビュー:

0 投票する
2 に答える
1415 参照

swiftui - SwiftUI で観測された変数がその値を変更するとすぐにアクションをトリガーする方法

リスト引数が変更されるとすぐに要素が更新されるビューにリストがあります。これは私の見解です:

}

ビュー内のユーザーのリスト

変数 users は @ObservedObject であるため、リストの内容はモデルで変更されるとすぐに自動的に更新されます。

私の質問は次のとおりです: users変数に関する「更新」イベントをキャッチするにはどうすればよいですか? そして、それをキャッチした後にアクションをトリガーするにはどうすればよいですか (たとえば、関数を呼び出すなど)。

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

swiftui-list - @ObservedObject の更新時に SwiftUI リストがフリーズする

最後に、より多くのデータを自動的に取得するリストがあります。

次のようなモデル:

私の問題: @Published/@ObservedObject を変更するたびに、リストをスクロールすると少しフリーズします。また、List は、表示されているすべてのビュー + 上下のいくつかのビューの本体を再計算することがわかりました。

しかし、何がスクロールのハングにつながるのかを判断して修正することはできません (おそらく、フリーズは (スクロール速度 * レンダリング時間) に等しい距離への転送ですか?

SwiftUI が既存のビューでボディを再計算するのはなぜですか? 彼らは変わっていません!

手伝って頂けますか?