定时器类具有五种初始化方法,包含四种工厂方法和一个实例化方法。
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];