简单来说NSTimer就是一个定时器,能够在确定的时间间隔里发送信息给对象。
NSTimer在iOS中经常会用到,但是用不当会造成其中的内存释放问题。
今天只做简单的总结:
1.创建计时器:
//添加timmer
@property (weak,nonatomic)NSTimer *timer;
_timer = [NSTimer scheduledTimerWithTimeInterval:1
target:self
selector:@selector(didClickButton:)
userInfo:nil
repeats:YES];
参数:
interval:时间间隔
target:一般指控制器
selector:要调用的方法
userInfo:用户自定义的参数
repeats:设置是否重复
2.停止计时器
//让计时器无效
[_timer invalidate];
3.再次启动计时器
注意:在使用timer的时候,如果调用invalidate方法,那么这个计时器就不会再次生效。要想再次启动,需要重新创建新的timer.
[_timer fire];
[self initImageTimer];
-(void)initImageTimer{
_timer = [NSTimer scheduledTimerWithTimeInterval:1
target:self
selector:@selector(didClickButton:) userInfo:nil
repeats:YES];
// [_timer fire];调用fire,这个计时器会立即执行,不会等待interval设置的时间
NSRunLoop *mainLoop = [NSRunLoop mainRunLoop];
[mainLoop addTimer:_timer forMode:NSRunLoopCommonModes];
}