我正在制作一个应用程序,在一秒钟之后调用方法。
[NSTimer scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(loadNews)
userInfo:nil
repeats:NO];
如何调用thi
答案 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];;