所以我有一个有计时器的视图。因此,当您按下“开始”时,NSTimer将开始更新UILabel并使用时间。现在,当您按回到上一个视图时,我会存储计时器的当前持续时间,当我加载此视图时,我想再次启动NSTimer,但这次我想显示已经过去的时间。
例如,
启动计时器:0:0:0 按下:0:0:10 当我在30秒后回到视图时,现在NSTimer从0:0:10开始,它应该是0:0:40
这就是我计算恢复时间的方式:
NSDate *resumeDate = [today dateByAddingTimeInterval:interval];
如何获得正确的时间戳?
答案 0 :(得分:0)
NSTimer
无法“重新开始”。一旦你启动计时器,你所能做的就是让它运行或停止它。
您必须使用新的时间戳创建一个新的NSTimer
对象。
至于如何添加时间戳,NSTimeInterval
数据类型是标准C double
值的别名。所以你可以这样做:
interval += 4.2 // add 4.2 seconds to the interval
答案 1 :(得分:-2)
你不能暂停计时器而是停止计时器。因此,如果您想要“恢复NSTimer”,您只能创建一个与之前计时器相同的新计时器并让它运行。