iPhoneアプリで毎分自動的に更新するカウントダウンTextFieldがあります。
特定の画面が表示されている場合はカウントダウンする必要があります。別の画面に切り替える場合は、カウントダウンを更新しないでください。
画面に戻ると、カウントダウンが再び続行されます...
これを処理する正しい方法は何でしょうか?
どうもありがとう!
を使用しNSTimer
ます。NSTimerのドキュメントは次のとおりです。
タイマーを設定してメソッドを呼び出す方法のコード スニペットを次に示します。
NSTimer *theTimer = [NSTimer timerWithTimeInterval:60 target:self selector:@selector(updateTime) userInfo:nil repeats:NO];
このタイマーは、updateTime
起動するたびにメソッドを呼び出します。updateTime
繰り返さないように設定しました。代わりに、メソッドを呼び出すたびに新しいタイマーを作成します。そうすれば、 をUIViewController
置き去りにしても、 を発射し続けることはありませんNSTimer
。
一般的なupdateTime
方法は次のとおりです。
-(void) updateTime
{
//Update user interface
NSTimer *theTimer = [NSTimer timerWithTimeInterval:60 target:self selector:@selector(updateTime) userInfo:nil repeats:NO];
}
はtimeInterval
秒単位なので、このタイマーは 60 秒ごとに起動し続けます。30 秒または 1 秒など、少し短くして、システム時間をチェックして、カウントダウンを更新する必要がある時期を確認することもできます。
それが役立つことを願っています!