gpt4 book ai didi

iphone - 如何启动和停止 NSTimer?

转载 作者:IT王子 更新时间:2023-10-29 07:46:10 26 4
gpt4 key购买 nike

我开发秒表应用程序。在我的应用程序中,有两个 UIButtons,StartBtnStopBtn,而且我还使用了 NSTimer

现在,我想在用户单击 StartBtn 时启动 NSTimer,并在您单击 StopBtn 时停止。

我知道 NSTimer[MyTimerName invalidate]; 方法停止,但我不知道如何再次启动 NSTimer

最佳答案

NSTimer 类使用起来有点笨拙;不是将创建/销毁与开始/停止分开,而是将它们整合在一起。换句话说,计时器一创建就启动,一被销毁就停止。

因此,您需要使用NSTimer 对象的存在 作为标志来指示它是否正在运行;像这样:

// Private Methods
@interface MyClass ()
{
NSTimer *_timer;
}
- (void)_timerFired:(NSTimer *)timer;
@end

@implementation MyClass

- (IBAction)startTimer:(id)sender {
if (!_timer) {
_timer = [NSTimer scheduledTimerWithTimeInterval:1.0f
target:self
selector:@selector(_timerFired:)
userInfo:nil
repeats:YES];
}
}

- (IBAction)stopTimer:(id)sender {
if ([_timer isValid]) {
[_timer invalidate];
}
_timer = nil;
}

- (void)_timerFired:(NSTimer *)timer {
NSLog(@"ping");
}

关于iphone - 如何启动和停止 NSTimer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12052914/

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