0

この問題は単純なように思えますが、頭を包むことはできません。「ゲーム」を含む Core Data ストアがあります。これらのゲームには、タイマーの時間を保存する属性、game.timer があります。すべて問題ありません。

また、App Delegate に一元化されたタイマーがあり、刻々と変化するときに通知を投稿するので、さまざまなビュー コントローラーがその時間を表示できます。それはすべて問題ありません。

これが私がこだわっている簡単なことです。ユーザーがタイマーを開始/停止し、刻々とした時間を表示するビュー コントローラー。タイマーが実行されると、ビューのラベルが更新されます。それはすべてうまくいきます。

しかし、そのビューが最初に表示されたとき、ラベルに静的な時間を表示する方法がわかりません。たとえば、viewWillLoad で実行すると、タイマーは 20:00 を表示します。偉大な。タイマーを開始すると、そのラベルがカチカチ音をたてます。また素晴らしい。しかし、ビューを離れて戻ると、ラベルは再び 20:00 に設定されます (タイマーがまだ実行されていると仮定すると、そこからティックダウンします)。

そのため、ラベルに初期時間を設定することについて、何らかの形で状態を追跡する必要があります。わかる?

編集: タイマーがカウントダウンします。ビューが最初に読み込まれる開始時刻、たとえば 20:00 を表示する必要があります。タイマーが実行されている場合、そのラベルは適切に更新されます。しかし、ビューを離れて戻ってきた場合、タイマーが実行されている場合、ラベルを 20:00 に戻したくありません。

4

1 に答える 1

0

どうでも。タイマーが設定されているかどうかなどを確認するために、一連の状態を追加しました。私が望むほどエレガントではありませんが、うまくいきます。

于 2013-04-02T17:00:37.033 に答える