那,API里面NSTimer 是木有暂停继续的方法的,只有fire和invalidate,前者是开工的意思,后者是废掉的意思,如果用废掉来代替暂停的功能?显然是不对的。
那肿么办呢?
其实NSTimer 有一个属性叫 fireDate ,啥意思呢?fireDate么,就是fire 的开始时间所以我们就有了思路了。
暂停: [timer setFireDate:[NSDate distantFuture]]; distantFuture,就是问你未来有多远呢?好远好远就是无法到达的时间,所以 timer就一直等待不 fire了。也就是暂停了。
继续: [timer setFireDate:[NSDate date]]; 这个当然就是把fire 的时间设置为当前时刻,所以timer就立刻开工啦!
完事!
本文介绍了如何使用NSTimer的fireDate属性实现定时器的暂停和继续功能。通过将fireDate设置为遥远的未来实现暂停效果,而将其设置为当前时间则使定时器立即开始工作。

912

被折叠的 条评论
为什么被折叠?



