如何立即触发NSTimer?
我需要调用一个方法,当我的应用程序启动,然后调用每5秒相同的方法。
我的代码很简单:
// Call the method right away [self updatestuff:nil] // Set up a timer so the method is called every 5 seconds timer = [NSTimer scheduledTimerWithTimeInterval: 5 target: self selector: @selector(updatestuff:) userInfo: nil repeats: YES];
有定时器的选项,所以它是立即触发,然后每隔5秒?
NSTimer
的-fire
, [timer fire];
是你在找什么。
这将启动/立即调用计时器解除时间延迟。
您不能安排计时器,并立即在同一行代码中触发事件。 所以你必须在两行代码中完成。
首先,安排定时器,然后立即在定时器上调用'fire':
timer = [NSTimer scheduledTimerWithTimeInterval: 5 target: self selector: @selector(updatestuff:) userInfo: nil repeats: YES]; [timer fire];
当火焰被调用时,定时器等待触发的时间间隔将重置,因为它刚刚运行,然后在指定的时间间隔后继续运行 – 在这种情况下,每5秒钟一次。
您可以初始化计时器并在同一行中启动它:
[(checkStatusTimer = [NSTimer scheduledTimerWithTimeInterval:60.0 target:self selector:@selector(checkStatusTimerTick:) userInfo:nil repeats:YES]) fire];