#swift #timer #background
#swift #таймер #фон
Вопрос:
В моем приложении есть опция отправки otp. Как только я отправлю otp, запустится таймер.я хочу отсчитывать время до завершения времени, даже если я перейду к любому другому viewcontroller. Означает, что когда я снова перейду к этому экрану otp, таймер будет запущен, если время не завершено.таким образом, таймер будет глобальным таймером и может запускаться в фоновом режиме.
@IBAction func resendOtpButtonWasPressed(_ sender: UIButton) {
timerLabel.text = "120"
sender.isEnabled = false
sendSmsAgainLabel.isHidden = false
timerLabel.isHidden = false
self.timer = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true, block: { (timer) in
self.counter -= 1
self.updateTimerLabel(count: self.counter)
})
}
func updateTimerLabel(count: Int){
if count > 0{
timerLabel.text = "(count)"
// resendOtpButon.setTitle("ResendOtp in: (count)", for: .normal)
}
else{
timer.invalidate()
self.counter = 120
timerLabel.isHidden = true
sendSmsAgainLabel.isHidden = true
resendOtpButon.isEnabled = true
}
}