私のアプリケーションは、デフォルト システムを使用して、最後のデータ更新の日付と時刻を保存します。
私のウィンドウには、値にバインドされたテキスト ボックスがあります。このテキスト ボックスには、日付フォーマッタも添付されています。すべてInterface Builderを介して行われます。日付形式は相対日付を使用するように設定されています。
データは日中のみ更新され、新しいデータが到着するたびにテキスト フィールドが完全に更新されます。だから私は次のようなものを得る:
今日 09:30 今日 09:35 今日 09:40 … 今日 17:40
17:40がその日の最終データ更新となります。
問題は、午前 0 時になると、昨日 17:40 と表示されるはずなのに、今日 17:40 と表示されることです。
アプリケーションを終了して再度開くと、昨日の 17:40 と表示されます。
リフレッシュするために何かを伝える必要があると思いますが、何がわからず、例が見つかりません。
1) 偽の willChangeValueForKey および didChangeValueForKey 通知を送信できるようですが、多くの人がこれは正しくないと言います。
2) 真夜中過ぎにユーザーのデフォルト値を自分自身に設定しようとしましたが、これは変更をトリガーしませんでした。
3)ユーザーのデフォルト値をゼロに設定してから、真夜中過ぎに戻そうとしましたが、これもうまくいきませんでした。
これを行うための正しくて簡単な方法があると確信していますが、見つけることができません。
何をトリガーする必要がありますか? どのオブジェクトでトリガーする必要がありますか?
どうもありがとう。