Создайте глобальный таймер для работы в фоновом режиме в swift

#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

        }
        
    }