首页 文章

如果声明不与计时器一起使用

提问于
浏览
0

当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 回答

  • 1

    试试这段代码:

    @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")
        }
    }
    

    if语句应写在 @objc func clocker() 而不是 viewDidAppear

相关问题