У меня есть простой таймер обратного отсчета. И ярлык, который отображает обратный отсчет.
var swiftTimer = NSTimer()
var swiftCounter = 60
override func viewDidLoad() {
timerLabel.text = String(swiftCounter)
}
Я уменьшаю счетчик на одну секунду. Эта функция выдает мне ошибку:
func updateCounter() {
timerLabel.text = String(swiftCounter--)
Эрро заявляет:
'--' устарел: он будет удален в 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()
}
}
Надеюсь, это поможет кому-то с похожей ситуацией;)
swiftCounter
вместоSwiftCounter
. - person EmilioPelaez   schedule 25.04.2016