分享

NSTimer 暂停继续

 叹落花 2015-12-11

转载自: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就立刻开工啦!

完事!


------------------------------------------------------------------------------

http://www.cnblogs.com/crazyac/articles/2497477.html

可以用NSTimer设置访问函数的时间周期:

复制代码

countTime = [NSTimerscheduledTimerWithTimeInterval:(1.0/60.0

                                     target:self 

                                   selector:@selector(updateBoard) 

                                   userInfo:nil 

                                    repeats:YES];

 

 

复制代码

即每1/60秒调用一次updateBoard函数

但是有时候游戏里要暂停,可以这样:

[countTime setFireDate:[NSDate distantFuture]]; 

需要继续的时候

[countTime setFireDate:[NSDate date]]; 


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多