如何在iphone应用程序中设置纳秒级的NSTimer时间间隔

时间:2011-07-29 13:26:33

标签: iphone objective-c ios real-time

我正在制作一个应用程序,在一秒钟之后调用方法。

[NSTimer scheduledTimerWithTimeInterval:1.0 
                                 target:self 
                               selector:@selector(loadNews) 
                               userInfo:nil 
                                repeats:NO];

如何调用thi

3 个答案:

答案 0 :(得分:19)

您的问题不完整。然而,使用标题,我可以说你不能将NSTimer设置为纳秒级的任何东西,并期望以您希望的方式尊重请求。

它可以设置的最小间隔是0.1毫秒(或0.0001秒)。 api documentation州:

  

计时器点火之间的秒数。如果interval小于或等于0.0,则此方法选择非负值0.1毫秒。

这意味着但并不一定将最小值定义为0.1ms。

您应该注意到,与许多计算机操作系统计时器一样 - 这是最短时间而非最大值 - 如果系统忙于执行其他操作,则无法保证不会延长时间。像Windows或MacOS或Linux这样的iOS不是一个“实时操作系统”,它设计的时间线对于应用程序的成功至关重要。

尝试将计时器设置为1纳秒级别或0.000000001秒是不行的。

答案 1 :(得分:2)

NSTimeInterval以秒为单位。所以一纳秒就是:

NSTimeInterval ti = 0.000000001;

NSTimer甚至不接近那个精确度。

答案 2 :(得分:1)

你不能这样做,但最小的间隔是0.035

timer = [NSTimer scheduledTimerWithTimeInterval:0.035f target:self selector:@selector(loadNews) userInfo:nil repeats:NO];;

相关问题