(转)NSTimer 怎么暂停继续

NSTimer 怎么暂停继续

转载自:http://blog.csdn.net/chentoo/article/details/8667918

那,API里面NSTimer 是木有暂停继续的方法的,只有fire和invalidate,前者是开工的意思,后者是废掉的意思,如果用废掉来代替暂停的功能?显然是不对的。

那肿么办呢?
其实NSTimer 有一个属性叫 fireDate ,啥意思呢?fireDate么,就是fire 的开始时间所以我们就有了思路了。

暂停: [timer setFireDate:[NSDate distantFuture]]; distantFuture,就是问你未来有多远呢?好远好远就是无法到达的时间,所以 timer就一直等待不 fire了。也就是暂停了。

继续: [timer setFireDate:[NSDate date]]; 这个当然就是把fire 的时间设置为当前时刻,所以timer就立刻开工啦!

完事!

时间: 2024-10-09 21:12:19

(转)NSTimer 怎么暂停继续的相关文章

NSTimer 的暂停与恢复运行。

1,暂停: pauseStart = [[NSDate dateWithTimeIntervalSinceNow:0] retain];        previousFireDate = [[timer fireDate] retain];        [timer setFireDate:[NSDate distantFuture]]; 2,恢复: float pauseTime = -1*[pauseStart timeIntervalSinceNow];        [timer s

UI设计中的各种小控件

xib支持图形化操作,提供了几乎所有的控件可供选择,只需拖动到相应的位置即可,但是控件的后台代码仍然需要手动编写,一定程度上加速了前台的开发. xib快速开发程序,手写代码速度比较慢 xib适合做静态页面,代码适合动态复杂的页面 xib不适合svn/git代码管理,代码比较适合 xib不适合后期维护,代码适合长期维护 如果xib文件名与类所在的文件夹名相同,可以直接使用init方法,自动查找同名的xib资源文件 UISwitch 开关 设置显示时的开关状态 [mySwitch setOn:YES

NSTimer在UITableView滚动时暂停工作

由于NSTimer的线程被UITableView的线程暂用了,所以NSTimer暂停工作了,解决办法 //在主线程中分配给timer一部分线程,让timer工作 [[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];

NSTimer用法,暂停,继续,初始化

NSTimer用法,暂停,继续,初始化 转载:http://blog.csdn.net/zhuzhihai1988/article/details/7742881 NSTimer的使用方法 1.初始化 + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo; + (NSTi

如何解决iOS界面操作导致导致NSTimer暂停计时的问题?

在NSTimer代码后面加上以下代码,这样滚动scroll的时候就不会暂停了.NSRunLoop *t = [NSRunLoop currentRunLoop];[t addTimer: timer forMode:forMode:NSRunLoopCommonModes]其中timer是自定义的NSTimer对象.

IOS开发—NSTimer

创建timer对象的三种方法 一.这两个类方法创建一个timer并把它指定到一个默认的runloop模式中 + (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti invocation:(NSInvocation *)invocation repeats:(BOOL)yesOrNo; + (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti target:(i

UITableViewController 滚动引起的cocos2d动画暂停问题的解决

UITableViewController 滚动引起的cocos2d动画暂停问题的解决 之前在使用UITableViewController进行滚动时,cocos2d的动画会暂停,直至滚动完毕才会继续动画. 后来发现可以这样解决,想要了解更多,请查阅NSRunLoop相关知识. // .h NSTimer* m_timer; // .m- (void)updateCCDirector { [[CCDirector sharedDirector] drawScene]; if (!self.tab

iOS开发——实用技术OC篇&NSTimer使用注意点及总结

NSTimer使用注意点及总结 总结以下在NSTimer的使用中遇到的一些问题: 1. 不要在dealloc函数中停止并释放NSTimer 如果这样做,会导致对象永远无法调用dealloc函数,也就是会造成内存泄漏. 一个比较合理的解释是NSTimer的回调方法具有retain属性,所以不停止它的情况下被引用对象的retainCount无法降为0,导致内存泄漏的死循环 2.因为要实现类似视频软件里面,UIScrollview定时循环滑动,用到了NSTimer类.在特定时事件情况下需要暂停,和重新

IOS系列——NStimer

Timer常用的一些东西 1. 初始化 timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(changeTime:) userInfo:nil <span style="font-family: Arial, Helvetica, sans-serif;"> repeats:YES];</span> 2.timer 马上执行 [tiemr fire];