cocoa touch 库提供的时间定时器。使用时记住3要素:
- 时间间隔。NSTimeInterval 浮点型
- 事件代理。delegate,一般填 self
- 事件处理方法@selector();
下面的这个定时器会每分钟调用一次调用 myMethod。
[NSTimer scheduledTimerWithTimeInterval:1
target:self
selector:@selector(myMethod)
userInfo:nil
repeats:YES];
当我们需要给定时器的处理函数 myMethod 传参数的时候怎么办?用 userInfo
属性。
1.首先创建一个定时器:
[NSTimer scheduledTimerWithTimeInterval:1
target:self
selector:@selector(myMethod:)
userInfo:myObject
repeats:YES];
2.然后传递 NSTimer 对象到处理函数:
-(void)myMethod:(NSTimer*)timer {
// Now I can access all the properties and methods of myObject
[[timer userInfo] myObjectMethod];
}
用 invalidate
来停止定时器:
[myTimer invalidate];
myTimer = nil; // ensures we never invalidate an already invalid Timer