Если оператор не работает с таймером - PullRequest
0 голосов
/ 20 мая 2018

Когда 10 секунд попали в таймер.Я бы хотел, чтобы цвет фона менялся.Прямо сейчас мой код не работает.Ничего не меняется, когда код достигает 10 секунд.Я также не думаю, что таймер работает.

@IBOutlet var espn: UILabel!

var TIMER = Timer()
var seconds = 0


override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)




    if seconds == 10{self.view.backgroundColor = UIColor.red
    }

}
@IBAction func startTimer() {       

        TIMER = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(threeVC.clocker), userInfo: nil, repeats: true)


}


@objc func clocker() {
    seconds += 1
    espn.text = String( seconds)   
    }
}

1 Ответ

0 голосов
/ 20 мая 2018

Попробуйте этот код:

@IBOutlet var espn: UILabel!

var TIMER = Timer()
var seconds = 0


override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)        
}

@IBAction func startTimer() {

    TIMER = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(threeVC.clocker), userInfo: nil, repeats: true)


}


@objc func clocker() {
    seconds += 1
    espn.text = String( seconds)
    if seconds == 10{
        self.view.backgroundColor = UIColor.red
        print("soda")
    }
}

, если утверждение должно быть записано в @objc func clocker(), а не в viewDidAppear

...