-
开启timer
_timer = [NSTimer scheduledTimerWithTimeInterval:10 target:self selector:@selector(loadToken) userInfo:nil repeats:YES];
repeats为NO,只调用一次计时器方法。
repeats为YES,重复执行seletor方法。
-
永久停止timer
[_timer invalidate];
_timer = nil;
注意:停止后,一定要将timer赋空,否则没有释放
-
暂时停止与开启
//关闭定时器
[_timer setFireDate:[NSDate distantFuture]];
//开启定时器
[_timer setFireDate:[NSDate distantPast]];
很简单的技巧。
将计时器的开启设在了未来,即暂停
将计时器的开启设在了过去,即开启
-
例子
//页面将要进入前台,开启定时器
- (void)viewWillAppear:(BOOL)animated {
//开启定时器
[_timer setFireDate:[NSDate distantPast]];
}
//页面消失,进入后台不显示该页面,关闭定时器
- (void)viewDidDisappear:(BOOL)animated {
//关闭定时器
[_timer setFireDate:[NSDate distantFuture]];
}
在页面消失的时候关闭计时器,然后等页面再次打开的时候,开启定时器。
网友评论