0

こんにちは、いくつかの機能を備えた 5 つのビュー コントローラーを使用して簡単なアプリケーションを作成しました。今やりたいことは、メイン画面に時間を追加することです。そして、アプリケーションを終了するまで実行する必要があります..他のView Controllerにも移動しますが、そのタイマーは実行されます..どうすればこの機能を使用できますか??

4

2 に答える 2

3

ここの「タイマー」セクションをチェックしてください: http://www.iphoneexamples.com/

また、Apple のNSTimer ドキュメントも参照してください。

于 2009-08-21T06:56:12.170 に答える
0

timePassedこれを行う最も実用的な方法は、それを偽造することです。つまり、開始タイムスタンプを保存するだけで、あらゆる種類の変数を継続的に維持する必要はありません。これはコーディングが簡単で、実際には安定しているため信頼性が高くなります。

タイマーNSDateが開始された瞬間に を保存し、タイマーを表示または更新するときはいつでも、渡された秒数を返すNSDateのメソッドを使用します。これは基本的に double の typedef です。注: この関数は、過去のタイムスタンプで呼び出された場合、負の数を返します。timeIntervalSinceNowNSTimeInterval

NSTimer今回表示の一部が表示されている場合は、表示を更新するメソッドの 1 つを定期的に呼び出すオブジェクトを使用して、毎秒 (またはそれ以上) 更新することができます。

サンプルコード:

// In the initialization code:
self.timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self
              selector:@selector(secondPassed:) userInfo:nil repeats:YES];

// Later:
// (This code assumes #minutes < 60.)
- (void) secondPassed: (NSTimer:) timer {
    NSTimeInterval secondsPassed = -1 * [self.timerStart timeIntervalSinceNow];
    int minutes = (int)(secondsPassed / 60);
    int seconds = (int)(seconds - minutes * 60);
    NSString* timerString = [NSString stringWithFormat:@"%02d:%02d",
                             minutes, seconds];
    [self updateTimerDisplay:timerString];
}
于 2009-08-21T06:59:19.603 に答える