搞懂nstimeinterval,这篇超详细的解读就够了!

吉云

今儿个,咱来聊聊我在项目里头咋用 NSTimeInterval 的。这玩意儿,看着简单,用起来门道还真不少。

初识 NSTimeInterval

我就知道这 NSTimeInterval 是用来表示时间间隔的,就像尺子量长度一样。我记得特清楚,那时候刚开始搞 iOS 开发,看那些官方文档,一堆英文,头都大。后来才知道,这 NSTimeInterval 就是一个数字,表示多少秒。

搞懂nstimeinterval,这篇超详细的解读就够了!

上手实践

真正开始用 NSTimeInterval,是为做一个倒计时功能。那时候,我想做一个简单的App,能显示离某个重要日子还有多少天。我一想,这不就是算两个时间点之间差多少秒吗?

我记得我当时是这么干的:

  • 先用 [NSDate date] 搞到现在的时间。
  • 然后,把那个“重要日子”的时间也搞出来,也是用 NSDate
  • 搞懂nstimeinterval,这篇超详细的解读就够了!

  • 然后,我发现 NSDate 有个方法叫 timeIntervalSinceDate:,可以直接算出两个时间点之间差多少秒,这结果就是 NSTimeInterval 类型的。
  • 把这个秒数换算成天数,就搞定!

当时,我感觉自己老厉害,还特意写篇博客记录下来,觉得自己又掌握一个新技能。

踩过的坑

后来我用 NSTimeInterval 做个定时器功能。我想每隔几秒钟就执行一个任务。我记得当时用 NSTimer,然后把 NSTimeInterval 传进去。结果,我发现这定时器有时候不太准。

搞懂nstimeinterval,这篇超详细的解读就够了!

我还以为是自己代码写错,翻来覆去查好几遍。后来我去网上查资料,才知道这 NSTimer 本来就不是百分百精确的,特别是时间间隔很短的时候。我记得有篇文章说,这 NSTimer 是跟系统的 RunLoop 啥的有关,我也没太搞懂,反正就是知道它不那么靠谱。

那次之后,我就学乖,要是需要特别精确的定时,我就不用 NSTimer ,改用别的方法。不过大多数时候,NSTimer 加上 NSTimeInterval 还是挺好用的。

总结

NSTimeInterval 这玩意儿,在 iOS 开发里头还是挺常用的。我用它来计算时间差,做倒计时,做定时器,感觉都挺顺手的。虽然也踩过一些坑,但还是挺好用的。希望我今天的分享对大家有帮助!

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]