NSTimer没有初始延迟

时间:2015-02-13 19:19:55

标签: ios objective-c nstimer

有没有办法消除NSTimer的初始延迟?以下代码适用于我的计时器,这一切都很好。

NSTimer *timer;
timer = [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(updateTime) userInfo:nil repeats:YES];

但是,该方法在前5秒内不运行。我希望我的方法(updateTime)能够在应用程序打开时从00:00:00开始运行以下时间轴。

  • 00:00:00 - 运行方法
  • 00:00:05 - 运行方法
  • 00:00:10 - 运行方法

目前,它只会:

  • 00:00:05 - 运行方法
  • 00:00:10 - 运行方法

3 个答案:

答案 0 :(得分:6)

在时间间隔过去之前,您无法启动计时器,但您可以这样做:

NSTimer *timer;
timer = [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(updateTime) userInfo:nil repeats:YES];
[self updateTime];

答案 1 :(得分:0)

只需添加这个简单的行

即可
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(updateTime) userInfo:nil repeats:YES];
[timer fire];

答案 2 :(得分:0)

设置对象后立即调用 fire() Api;它将立即开始,从而解决您的问题。检查上传的图片以供参考。