gpt4 book ai didi

objective-c - 创建一个 iOS 计时器

转载 作者:太空狗 更新时间:2023-10-30 03:15:00 25 4
gpt4 key购买 nike

我正在尝试创建一个“秒表”类型的功能。我有一个标签(显示耗时)和两个按钮(启动和停止计时器)。开始和停止按钮分别调用startTimerstopTimer 函数。计时器每秒都会触发并调用 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 时重新初始化计时器所致)。有什么方法可以暂停和恢复计时器而不会使它失效并重新创建它?或者更好/替代的方法?

谢谢。

最佳答案

有点过时,但如果有人仍然感兴趣......

不要“停止”计时器,而是在暂停期间停止递增,例如

- (void)increaseTimerCount
{
if (!self.paused){
timerCount++
}

timerCountLabel.text = [NSString stringWithFormat:@"%d", timerCount];
}

关于objective-c - 创建一个 iOS 计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6711328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com