NSTimer Countdown - updateCounter Swift 3.0 新语法?
NSTimer Countdown - updateCounter Swift 3.0 New Syntax?
我有一个简单的倒数计时器。还有一个显示倒计时的标签。
var swiftTimer = NSTimer()
var swiftCounter = 60
override func viewDidLoad() {
timerLabel.text = String(swiftCounter)
}
我把计数器减一秒。这个函数给我一个错误:
func updateCounter() {
timerLabel.text = String(swiftCounter--)
错误声明:
'--' is deprecated: it will be removed in Swift 3
我意识到我必须将 --
转换为 x -= 1
(x 是变量)。我试过了
func updateCounter() {
timerLabel.text = String(swiftCounter -= 1)
}
将计数器减少 1 秒,但我的计数器 (timerLabel) 变为空白。
请问适合我的情况的新 Swift 语法是什么?
* 更新:*
我还添加了一个条件,即我的计时器在达到零 (0) 时停止,我之前没有这样做,我的计时器进入了负值区域。我修改后的代码如下:
func updateCounter() {
swiftCounter -= 1
timerLabel.text = String(swiftCounter)
if swiftCounter == 0 {
swiftTimer.invalidate()
}
}
希望对遇到类似情况的人有所帮助 ;)
您应该将逻辑分成 2 行,因为您要递减和保存然后转换为字符串以供显示,这是两件不同的事情:
SwiftCounter -= 1
timerLabel.text = String(SwiftCounter)
首先,这是警告,不是错误。
只需插入一个额外的行。
func updateCounter() {
SwiftCounter -= 1
timerLabel.text = String(SwiftCounter)
我编辑你的功能:
func updateCounter() {
SwiftCounter -= 1
timerLabel.text = String(SwiftCounter)
}
postfix func --(inout num: Int) {
num = num - 1
}
var a = 5
for _ in 0...4{
print(--a)
}
我有一个简单的倒数计时器。还有一个显示倒计时的标签。
var swiftTimer = NSTimer()
var swiftCounter = 60
override func viewDidLoad() {
timerLabel.text = String(swiftCounter)
}
我把计数器减一秒。这个函数给我一个错误:
func updateCounter() {
timerLabel.text = String(swiftCounter--)
错误声明:
'--' is deprecated: it will be removed in Swift 3
我意识到我必须将 --
转换为 x -= 1
(x 是变量)。我试过了
func updateCounter() {
timerLabel.text = String(swiftCounter -= 1)
}
将计数器减少 1 秒,但我的计数器 (timerLabel) 变为空白。
请问适合我的情况的新 Swift 语法是什么?
* 更新:*
我还添加了一个条件,即我的计时器在达到零 (0) 时停止,我之前没有这样做,我的计时器进入了负值区域。我修改后的代码如下:
func updateCounter() {
swiftCounter -= 1
timerLabel.text = String(swiftCounter)
if swiftCounter == 0 {
swiftTimer.invalidate()
}
}
希望对遇到类似情况的人有所帮助 ;)
您应该将逻辑分成 2 行,因为您要递减和保存然后转换为字符串以供显示,这是两件不同的事情:
SwiftCounter -= 1
timerLabel.text = String(SwiftCounter)
首先,这是警告,不是错误。
只需插入一个额外的行。
func updateCounter() {
SwiftCounter -= 1
timerLabel.text = String(SwiftCounter)
我编辑你的功能:
func updateCounter() {
SwiftCounter -= 1
timerLabel.text = String(SwiftCounter)
}
postfix func --(inout num: Int) {
num = num - 1
}
var a = 5
for _ in 0...4{
print(--a)
}