iOS NSTimer的简单使用
2017-07-03 本文已影响41人
骑马纵天下
/**
定时器的使用
@param Interval 定时器的时间间隔
@param target 用在哪 一般self
@param selector 选择器(方法)
@param userInfo 传递参数
@param repeats 是否重复
@return
*///每秒执行一次time方法
NSTimer *time = [NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(time) userInfo:nil repeats:YES];
写法一
/ 启动定时器
timer.fireDate = [NSDate distantPast];
//停止定时器
timer.fireDate = [NSDate distantFuture];
写法二
// 开启
[time setFireDate:[NSDate distanPast]]
// 关闭
[time setFireDate:[NSDate distantFunture]]
//停止
[NSTimer invalidate]
当repeats等于YES时记得在视图即将消失的时候把NSTimer停止
如果不把NSTimer停止 它就会一直执行这个View不会消失
不能用dealloc原因 NSTimer一直存在 View的引用计数一直都有 所以不会调用dealloc所以需要我们在视图消失时停止NSTimer
- (void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
[_time invalidate];
}