持久化定时器和秒表,确保状态的无缝恢复。
使用您选择的数据源实例化 PersistableTimer (UserDefaults 或内存,用于测试和预览目的)
import PersistableTimer
let timer = PersistableTimer(dataSourceType: .inMemory)
let timer = PersistableTimer(dataSourceType: .userDefaults(.standard))
let timer = PersistableTimer(dataSourceType: .userDefaults(.standard), updateInterval: 0.5)
启动秒表或倒计时定时器。 可选地,即使已有定时器在运行,也可强制启动新定时器。
try await timer.start(type: .stopwatch)
// Start a countdown timer with a duration of 100 seconds
try await timer.start(type: .timer(duration: 100))
暂停和恢复正在运行的定时器,或标记为完成
try await timer.pause()
try await timer.resume()
try await timer.finish(isResetTime: false)
在应用重启后恢复定时器状态
try timer.restore()
使用 timeStream 订阅定时器更新
for await timeState in timer.timeStream {
// Update your UI with the current timeState
print(timerState.time)
}