GitHub: https://github.com/remember17/CountdownTimer
全局倒计时工具,可以维护任意多个倒计时
当APP从后台进入前台的时候,倒计时不受影响,会根据时间线继续。
使用方法:
-
把
CountdownTimer.swift
文件拖进项目 -
在
CountdownTimer.swift
的枚举CountDownKey
中添加定时器
每个枚举值代表一个可供使用的定时器
enum CountDownKey: CaseIterable {
case test1 case test2 // 当需要一个倒计时的时候就在这里加一个key}
-
开启一个定时器,
当闭包中要使用self的时候,记得加[weak self]
CountdownTimer.startTimer(key: .test1, count: 60) { (count, finish) in
print(count) // 倒计时数字
print(finish) // 是否完成倒计时}
-
手动停止某个定时器.
手动停止或倒计时完,此定时器都会被移除,除非再次开启
CountdownTimer.stopTimer(key: .test1)
-
继续某个定时器
已经被停止的定时器是无法继续的,因为停止的定时器会被移除
这个方法的作用是当开始定时器的页面被销毁,又想继续获取定时器状态的时候使用
CountdownTimer.continueTimer(key: .test1) { (count, finish) in
print(count) // 倒计时数字
print(finish) // 是否完成倒计时}
我的GitHub: https://github.com/remember17
来源于: