1.什么是内部时钟
在我们做iOS开发的过程中,我们经常要与时间打交道,[NSDate date]是我们常用的取时间的一种方式,但是[NSDate date] 这种方式只能取系统的当前时间。也就是说:当前我们手机的时间是什么时间,取出来的值,就是多少。
如果用户把系统的时间改了呢?那么[NSDate date]取出来的值,还是我们想要的吗???在一些应用的开发中,我们在没有网络的状态下,不能取网络时间,依靠系统时间,是可以篡改的。所以这个时候,我们要自己要在程序的内部定制一个自己的内部时钟。
2.实现内部时钟的思路
1.要有一个时间作为基本的参照点(一般应用都会与服务器打交道,所以发请求给服务器,取服务器的时间是比较合适的)
2.要有一个标记点(一般取待机时长)
3.在每次进入程序的时候,或者登录的时候,取服务器的时间存起来,然后再取当前的待机时间存起来,每次要获取当前时间的时候,再取待机时长跟之前的存储的待机时长比较,获得差值。将存储的服务器时间加上差值,就获得想要的当前时间。
3.具体实现步骤
0.用到的宏:
1.获取待机时长
2.存储服务器时间及待机时长
3.获得当前的时间(以服务器时间为基准)
4.深度探讨
答案 :SystemUptime这种获取待机时间的方式在我们设备深度睡眠的时候,获取的值会有误差,而上面我所用的方法不会。亲测!!!
答案 :
本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com
本文链接:http://zleialh.tongchengxian.cn/news/2416.html
有话要说...