【发布时间】:2020-05-05 05:36:19
【问题描述】:
我有一个工作 10 分钟的倒数计时器,它每分钟更新一次标签,直到它不到一分钟,并且每秒更新一次标签。我敢肯定有一种更优雅的方法可以将 10 分钟缩短到 2 分钟,但我想不出如何进行数学计算并插入时间。有什么想法吗?
let countdown = 600
func countdownAction() {
countdown -= 1
if countdown > 540 {
label.text = "10 minutes"
} else if countdown > 480 {
label.text = "9 minutes"
} else if countdown > 420 {
label.text = "8 minutes"
} else if countdown > 360 {
label.text = "7 minutes"
} else if countdown > 300 {
label.text = "6 minutes"
} else if countdown > 240 {
label.text = "5 minutes"
} else if countdown > 180 {
label.text = "4 minutes"
} else if countdown > 120 {
label.text = "3 minutes"
} else if countdown > 60 {
label.text = "2 minutes"
} else if countdown > 0 {
label.text = "1 minute"
} else {
label.text = "\(countdown) seconds"
}
}
【问题讨论】:
-
想想如何创造性地使用
% 60和/ 60。 -
谷歌关于 DateComponentsFormatter positionalTime
-
与您的问题无关,但您永远不应该依赖计时器来测量经过的时间。获取开始日期并使用
Date属性timeIntervalSinceNow来衡量它。
标签: swift