天天看点

常用知识点-NSTimer

[NSTimer scheduledTimerWithTimeInterval:1.0
                                               target:self
                                            selector:@selector(timerlistener)
                                             userInfo:nil
                                              repeats:YES]
           

上面是一般用法:repeats:Yes表示周期性调用 ,NO表示一次性调用 ,

这句代码意思每:1.0秒调用一次 timerlistener里面的方法

如果要暂停就要把它写成一个对象一般写全局变量:

NSTimer *_timer;
           
_timer =  [[NSTimer scheduledTimerWithTimeInterval:1.0
                                               target:self
                                            selector:@selector(timerlistener)
                                             userInfo:nil
                                              repeats:YES] retain];
           

暂停:

[_timer setFireDate:[NSDate distantFuture]];
           

重新开始:

[_timer setFireDate:[NSDate dateWithTimeIntervalSinceNow:1]];
           

销毁:

[timer invalidate];  
或  
timer = nil;