У меня есть этот таймер:
class InstallationViewController: BaseViewController {
var precentageTimer: Timer!
}
В том же классе я запускаю таймер примерно так:
self.precentageTimer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true, block: { (timer) in
self.network.getClibrationPercentage(success: { (info, percent) in
self.isAnalysisCompleted(percent: percent)
self.precentageLbl.text = "\(percent)%"
self.instructionsLbl.text = info
self.precentageLbl.isHidden = false
}, failure: { (error) in
print(error)
})
})
У меня также есть этот метод для увольнения задач:
func dissmissAllTasks() {
NotificationCenter.default.removeObserver(self)
self.setCalibrationEnableTimer?.invalidate()
self.setCalibrationEnableTimer = nil
self.snapShotTimer?.invalidate()
self.snapShotTimer = nil
self.precentageTimer?.invalidate()
self.precentageTimer = nil
}
Это происходит, когда я перехожу через viewWillDisappear следующим образом:
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
dissmissAllTasks()
}
Но когда я иду в другой VC, я вижу, что этот таймер продолжает работать.Я проверил вызов функции dismissAllTasks () и вижу, что таймер равен нулю.
Почему таймер продолжает работать?