NStimer首先开火,然后按计划开火

时间:2013-12-04 03:32:59

标签: objective-c multithreading nstimer schedule

是否有可能使NStimer在初始化时首先触发,然后以0.01秒的时间表触发?我有这个代码..

 self.displayTimerTotalTime = [NSTimer timerWithTimeInterval:0.01
 target:self
 selector:@selector(timerFiredTotalTime:)
 userInfo:nil repeats:YES];
 [[NSRunLoop mainRunLoop] addTimer:self.displayTimerTotalTime forMode:NSRunLoopCommonModes];

问题是用户可以多次停止计时器并再次运行,但每次这会导致用户体验出现问题,从而产生0.01延迟。稍后检查延迟并将其删除是不够的。

2 个答案:

答案 0 :(得分:2)

您可以随时调用-fire方法来触发计时器。只需在上面的代码后添加:

[self.displayTimerTotalTime fire];

答案 1 :(得分:0)

您可以随时自行调用选择器:

[self timerFiredTotalTime:self.displayTimerTotalTime];