"ストップウォッチ"タイプの機能を作成しようとしています。私は1つのラベル(経過時間を表示する)と2つのボタン(タイマーの開始と停止)を持っています。スタートボタンとストップボタンはそれぞれstartTimer
とstopTimer
関数を呼び出します。毎秒タイマーが起動し、increaseTimerCount
関数が呼び出されます。私はまた、経過時間を秒単位で保持する鉢timerCount
を持っています。iOSタイマーを作成する
- (void)increaseTimerCount
{
timerCountLabel.text = [NSString stringWithFormat:@"%d", timerCount++];
}
- (IBAction)startTimer
{
timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(increaseTimerCount) userInfo:nil repeats:YES];
}
- (IBAction)stopTimer
{
[timer invalidate];
[timer release];
}
問題は(私はタイマーにstartTimerが呼び出されるたびに再初期化が原因であると仮定しています)スタートボタンが押される遅延をがあるように思われるということです。無効にして再作成することなく、タイマーを一時停止して再開する方法はありますか?これを行うためのより良い/代替の方法ですか?
ありがとうございました。