問題タブ [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 投票する
0 に答える
398 参照

swift - SwiftUIでUserDefaultsを使用してDatePickerから保存/取得する方法は?

DatePicker を使用して特定の時刻を選択しようとしています。その時刻が選択されたら、その時刻を ObservedObject として保存し、SwiftUI を使用して UserDefaults に保存します。以下の私のコードの問題は、時間の初期設定後にデータが保存される一方で、時間が変更された場合、その更新が期待どおりに DatePicker オブジェクトに表示されないことです。ここで私のコードで何が間違っているかを誰かが見るのを手伝ってもらえますか:

UserData.swift

AlarmSettingsView.swift

0 投票する
4 に答える
27208 参照

ios - @ObservedObject に基づいて SwiftUI ビューが更新されない

次のコードでは、監視対象のオブジェクトが更新されますが、それを監視するビューは更新されません。理由はありますか?

コードは、画面に 10 個の数字 (0..<10) とボタンを表示します。ボタンが押されるたびに、10 個の数字の 1 つがランダムに選択され、その可視性が反転します (可視→非表示、またはその逆)。

print ステートメントは、ボタンが数値を更新していることを示していますが、ビューはそれに応じて更新されません。配列の値を更新しても配列の値自体は変更されないことがわかっているので、手動objectWillChange.send()呼び出しを使用します。それが更新をトリガーするはずだと思っていたでしょうが、画面は決して変わりません。

何か案が?NumberLineクラスまたは構造体として使用するか、NumberLine型をまったく使用せず、代わりに構造体内で配列変数を使用するソリューションに興味がありますContentView

スクリーンショット

コードは次のとおりです。

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

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

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

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