【发布时间】:2011-07-15 18:05:25
【问题描述】:
我正在尝试创建“秒表”类型的功能。我有一个标签(显示经过的时间)和两个按钮(启动和停止计时器)。开始和停止按钮分别调用startTimer 和stopTimer 函数。计时器每秒触发一次并调用increaseTimerCount 函数。我还有一个 ivar timerCount 可以保存经过的时间(以秒为单位)。
- (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 时都重新初始化计时器)。有什么方法可以暂停和恢复计时器而不使其无效并重新创建它?还是更好/替代的方法?
谢谢。
【问题讨论】:
标签: objective-c nstimer