我有一个像这样的计时器:
NSTimer* timer = [NSTimer scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(updateCountdown)
userInfo:nil
repeats:YES];
我正在使用这个计时器更新标签的文本。在某种情况下,我想检查计时器是否处于事件状态然后使计时器无效。我的问题是如何确定计时器是否处于事件状态?
最佳答案
当一个非重复计时器触发时,它会将自己标记为无效,因此您可以在取消它之前检查它是否仍然有效(当然,然后自己摆脱它)。
if ( [timer isValid] && yourOtherCondition){
[timer invalidate], timer=nil;
}
在您的情况下,您有一个重复计时器,因此它将始终有效,直到您采取一些措施使其无效。看起来在这种情况下您正在运行倒计时,因此当倒计时达到所需值时(在您的 updateCountdown 方法中),您需要确保使它无效并摆脱它
关于objective-c - 如何查找 NSTimer 是否处于事件状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1635803/