我正在使用一个以 5 秒为增量处理设备运动事件和更新界面的应用程序。我想向应用程序添加一个指示器,以显示应用程序运行的总时间。看起来像秒表一样的计数器,如原生 iOS 时钟应用程序是一种计算应用程序运行时间并将其显示给用户的合理方式。
我不确定的是这种秒表的技术实现。这就是我的想法:
如果我知道界面更新之间的时间间隔,我可以将事件之间的秒数相加,并将秒数作为局部变量。或者,一个 0.5 秒间隔的预定定时器可以提供计数。
如果我知道应用程序的开始日期,我可以使用每次接口更新将局部变量转换为日期
[[NSDate dateWithTimeInterval:(NSTimeInterval) sinceDate:(NSDate *)]
我可以使用具有短时间样式的 NSDateFormatter 使用
stringFromDate
方法将更新的日期转换为字符串生成的字符串可以分配给界面中的标签。
结果是秒表会针对应用程序的每个“滴答”进行更新。
在我看来,这个实现有点太重了,不像秒表应用程序那么流畅。是否有更好、更具交互性的方式来计算应用程序运行的时间?也许iOS已经为此提供了一些东西?