NSTimer设置开启、暂停、恢复、移除

2019-08-27  本文已影响0人  布呐呐u
1)问题描述

NSTimer 自带的方法中是没有提供暂停和恢复的方法;

2)解决方案

NSTimer 有个方法是 setFireDate
可以利用这个方法实现暂停和恢复;

3)实行步骤
①创建一个定时器进行重复执行某个方法;
  self.airTimer = [NSTimer scheduledTimerWithTimeInterval:3.0f target:self selector:@selector(timerAction) userInfo:nil repeats:YES];
  [[NSRunLoop currentRunLoop] addTimer:self.airTimer  forMode:NSRunLoopCommonModes];

②暂停:

原理是把触发时间设置在未来,既很久之后,这样定时器自动进入等待触发的状态;

[self.airTimer setFireDate:[NSDate distantFuture]];

③恢复:

原理是把触发时间设置为现在,设置后定时器马上恢复工作状态;

[self.airTimer setFireDate:[NSDate date]];

④停止:

系统提供的方法;

[self.airTimer invalidate];
上一篇 下一篇

猜你喜欢

热点阅读