首页 > 代码库 > NSTimer定时器

NSTimer定时器

  1.使用 scheduledTimerWithTimeInterval:invocation:repeats: 或者scheduledTimerWithTimeInterval:target:selector:userInfo:repeats: 这两个类方法创建一个timer并把它指定到一个默认的runloop模式中

  2.使用 timerWithTimeInterval:invocation:repeats: 或者 timerWithTimeInterval:target:selector:userInfo:repeats:这两个类方法创建一个timer的对象,不把它知道那个到run loop. (当创建之后,你必须手动的调用NSRunLoop下对应的方法 addTimer:forMode: 去将它制定到一个runloop模式中.)

  3.使用 initWithFireDate:interval:target:selector:userInfo:repeats: 方法分配并创建一个NSTimer的实例 (当创建之后,你必须手动的调用NSRunLoop下对应的方法 addTimer:forMode: 去将它制定到一个runloop模式中.)



- (void)fire; //立即触发定时器- (NSDate *)fireDate;//开始时间- (void)setFireDate:(NSDate *)date;//设置fireData,其实暂停、开始会用到- (NSTimeInterval)timeInterval;//延迟时间- (void)invalidate;//停止并删除- (BOOL)isValid;//判断是否valid- (id)userInfo;//通常用nil

 在invalidate之前最好先用isValid先判断是否还在线程中:

if ([scrollTimer isValid] == YES) {        [scrollTimer invalidate];        scrollTimer = nil;}
[timer setFireDate:[NSDate date]]; //继续。[timer setFireDate:[NSDate distantPast]];//开启[timer setFireDate:[NSDate distantFuture]];//暂停

NSTimer定时器