定时器NSTimer

定时器类具有五种初始化方法,包含四种工厂方法和一个实例化方法。

  • NSTimer *timer = [NSTimer timerWithTimeInterval:2.0 invocation:invocation repeats:NO];

  • NSTimer *timer2 = [NSTimer scheduledTimerWithTimeInterval:2.0 invocation:invocation repeats:YES];

  • NSTimer *timer3 = [NSTimer timerWithTimeInterval:2.0 target:self selector:@selector(myLog) userInfo:@”123” repeats:YES];

  • NSTimer *timer4 = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(myLog) userInfo:@”456” repeats:YES];

  • NSTimer *timer5 = [[NSTimer alloc] initWithFireDate:date interval:2.0 target:self selector:@selector(myLog) userInfo:@”789” repeats:YES];

说明:

 TimerInterval : 执行之前等待的时间。比如设置成1.0,就代表1秒后执行方法
 target : 需要执行方法的对象。
 selector : 需要执行的方法
 repeats : 是否需要循环
 userInfo : 用户信息

方法中需要调用的对象:

      NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[[self class] instanceMethodSignatureForSelector:@selector(initW)]];
      [invocation setTarget:self];
      [invocation setSelector:@selector(myLog)];

  需要分别实现 **initW **和 **myLog** 方法。

将 NSTimer 对象加入Runloop

[[NSRunLoop mainRunLoop] addTimer:timer3 forMode:NSDefaultRunLoopMode];

释放方法

[timer invalidate];

启动方法

1. [timer2 fire];

2. timer4.fireDate = [NSDate distantPast];