首先创建一个timer
- (void)initTimer
{
//设置NSTimer
_timer = [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(changeView) userInfo:nil repeats:YES];
}
关闭timer
//页面将要进入前台,开启定时器
-(void)viewWillAppear:(BOOL)animated
{
//创建定时器
[aSV initTimer];
NSLog(@"开启计时器");
}
//页面消失,进入后台不显示该页面,关闭定时器
-(void)viewWillDisappear:(BOOL)animated
{
//关闭定时器,下次开启需要重新创建一个timer
[aSV.timer invalidate];
NSLog(@"停止计时器");
}
上边的写法比较彻底,也可以使用下边的
//页面将要进入前台,开启定时器
-(void)viewWillAppear:(BOOL)animated
{
//开启定时器
[myTimer setFireDate:[NSDate distantPast]];
NSLog(@"开启计时器");
}
//页面消失,进入后台不显示该页面,关闭定时器
-(void)viewDidDisappear:(BOOL)animated
{
//暂停定时器,只是暂停,下次直接开启即可
[myTimer setFireDate:[NSDate distantFuture]];
NSLog(@"暂停计时器");
}