2012-02-04 31 views
0

这里是我的代码的NSTimer选择之间设置时间要求

[NSTimer scheduledTimerWithTimeInterval:0 
            target:self 
            selector:@selector(t:) 
            userInfo:endtime 
            repeats:YES ]; 

-(void)t:(NSTimer *)timer 
{ 
    if ([timer.userInfo timeIntervalSinceNow] < 0) { 
     [timer invalidate]; 

} 

是否可以设置来电T法之间的时间,因为默认是太快了,我呢?

回答

1

是否可以设置调用t方法之间的时间,因为 默认对我来说太快了?

现在你正在传递0间隔。使用更长的时间间隔的较大值:

NSTimer *myTimer = [NSTimer scheduledTimerWithTimeInterval:60 
            target:self 
            selector:@selector(t:) 
            userInfo:endtime 
            repeats:YES ]; 

此计划每60秒触发一次计时器。

0

第一个参数是呼叫之间的时间间隔(以秒为单位)(请参阅NSTimer doc),其中您设置了0。所以你可以例如设置0.5为“每秒30次”或1/30.0为“每秒30次”。请注意,NSTimer来电并非绝对准确,如果您需要准确性(例如动画),您可能必须计算自上次通话以来的确切时间。

+0

我会在一个单独的线程上做动画,因​​为它们是CPU密集型的。 – 2012-02-04 15:49:33