我需要知道如何在总时间内执行操作,我会解释,我需要重复调用一个函数10秒,然后每隔1个,我尝试使用计时器,但我明白了什么是称为函数每10秒而不是10秒。
有没有人有任何想法?
感谢
答案 0 :(得分:1)
我猜你的意思是你想要每秒调用一次函数,并在十秒后停止调用它。我怀疑你希望能够改变间隔(每秒一次)和持续时间(10秒)。
@implementation Example
{
NSTimer *_timer;
NSTimeInterval _stopTime;
}
- (void)setTimerWithInterval:(NSTimeInterval)interval duration:(NSTimeInterval)duration
{
[_timer invalidate];
_timer = [NSTimer scheduledTimerWithTimeInterval:interval target:self selector:@selector(timerDidFire) userInfo:nil repeats:YES];
_stopTime = [NSDate timeIntervalSinceReferenceDate] + duration;
}
- (void)timerDidFire
{
if ([NSDate timeIntervalSinceReferenceDate] >= _stopTime) {
[_timer invalidate];
return;
}
NSLog(@"hello from the timer!");
}
- (void)dealloc
{
[_timer invalidate];
[super dealloc]; // delete this line if using ARC
}
@end