使用 Swift 跟踪经过的时间

Tracking Elapsed Time with Swift

所以我有一个任务的倒数计时器,我想知道是否有一种方法可以存储已经过去的时间,以便可以将它记录在应用程序中。因此,例如,您每次使用倒数计时器时,都会将倒数时间 运行 存储为生命周期值。

如果重复这组指令,则总生命周期值为 11 分钟。

如果有人能给我指出可以解释如何实现此类功能的资源方向,我们将不胜感激。

您有多种选择来保留这样的数字 - 绝对最简单和最快的可能只是使用 UserDefaults 到 store/retrieve 数字。这不完全是 UserDefaults 的预期用途,但如果您只是存储一个 TimeInterval,它不会给您带来任何问题。

基本实现如下所示:

 let interval: TimeInterval = 20 //replace with the time from your countdown timer
 UserDefaults.standard.set(interval, forKey: "totalTimeElapsed")

并且由于您需要将新时间添加到现有的经过时间中,您可以这样做:

 let newTimeElapsed: TimeInterval = 20 //replace with time from countdown timer
 let totalSoFar = UserDefaults.standard.double(forKey: "totalTimeElapsed") //will be 0 if it doesn't exist
 UserDefaults.standard.set(newTimeElapsed + totalSoFar, forKey: "totalTimeElapsed")

您可以执行此操作的其他标准方法是 NSKeyedArchiverCore Data,尽管 Core Data 对于坚持 1 个数字来说是大材小用。