我正在使用一个处理设备运动事件的应用程序,并以5秒为增量更新界面.我想在应用程序中添加一个指示器,显示应用程序运行的总时间.看起来类似秒表的计数器,就像本机iOS时钟应用程序一样,是计算应用程序运行时间并将其显示给用户的合理方式.
我不确定的是这种秒表的技术实现.这就是我的想法:
如果我知道接口更新之间有多长时间,我可以在事件之间加上秒,并将秒数保持为局部变量.或者,0.5秒间隔的预定计时器可以提供计数.
如果我知道应用程序的开始日期,我可以使用的每个接口更新将本地变量转换为日期 [[NSDate dateWithTimeInterval:(NSTimeInterval) sinceDate:(NSDate *)]
我可以使用具有短时间样式的NSDateFormatter将更新的日期转换为使用stringFromDate方法的字符串
结果字符串可以分配给界面中的标签.
结果是秒表针对应用的每个"滴答"进行更新.
在我看来,这个实现有点太沉重,并不像秒表应用程序那么流畅.是否有更好,更具互动性的方式来计算应用程序运行的时间?也许iOS已经为此提供了一些东西?
我注意到这NSDate *nowDate = [NSDate date];给了我GMT + 0时间而不是当地时间.所以基本上在我的iPad上是13:00,这段代码的输出是12:00.
我如何正确地获得当地时间?