Swift таймер запускается сразу после запуска приложения а не при переходе на другой Экран и как это исправить?
Есть два ViewController-a первый это "MenuVC" и второй "ViewController" Первоначальный экран это "MenuVC" к нему же припоял navigatation Controller и на этом view контролере есть кнопка при нажатия на кнопку выполняется переход на "ViewControler" и сдесь хочу чтобы таймер запустился но он запускается сразу же после запуска приложения как исправить ?
Вопрос: Почему таймер запускается сразу после запуска приложения а не при переходе на другой Экран и как это исправить?
вот action перехода при нажатии на кнопки на "MenuVC"
@IBAction func segueAction(_ sender: UIButton) {
guard let newVC = storyboard?.instantiateViewController(identifier: "ViewController") else { return }
navigationController?.popToViewController(newVC, animated: true)
}
и вот мой таймер на ViewController
import UIKit
class ViewController: UIViewController {
@IBOutlet var label: UILabel!
var count: Int = 5
var timer: Timer?
override func viewDidLoad() {
super.viewDidLoad()
label?.text = "\(count)"
timerTest()
}
func timerTest() {
timer = Timer.scheduledTimer(timeInterval: 1,
target: self,
selector: #selector(justFunc),
userInfo: nil,
repeats: count == 0 ? false : true
)
}
@objc func justFunc(){
label?.text = "\(count)"
if count == 0 {
timer?.invalidate()
guard let newVC = storyboard?.instantiateViewController(identifier: "MenuVC") else { return }
navigationController?.popToViewController(newVC, animated: true)
}
count -= 1
}
}
у мене обратный таймер после чего заканчивается время хочу сделать переход на первый VC т.е "MenuVC"
@objc func justFunc(){
label?.text = "\(count)"
if count == 0 {
timer?.invalidate()
guard let newVC = storyboard?.instantiateViewController(identifier: "MenuVC") else { return }
navigationController?.popToViewController(newVC, animated: true)
}
count -= 1
}