Как остановить таймер после вызова функции - PullRequest
0 голосов
/ 17 марта 2019

У меня есть таймер и функция.Я хочу сделать недействительным таймер после завершения функции.Как бы я пошел по этому поводу?функция называется showButton ()

1 Ответ

0 голосов
/ 20 марта 2019

Вам необходимо объявить переменную таймера глобально для вашего класса.Затем при необходимости инициализируйте таймер и отключите его при вызове функции showButton().

Это небольшой пример.

class timerViewController: UIViewController {

     var timer: Timer!

     override func viewDidLoad() {
         super.viewDidLoad()

         print("Starting Timer")
         timer = Timer.scheduledTimer(timeInterval: 5.0, target: self, selector: #selector(timerCompleted), userInfo: nil, repeats: false)
     }

     @objc func timerCompleted(sender: Timer!){
         print("Timer Completed")
     }

     func showButton(){
         timer.invalidate()
     }
}
...