Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios If语句不与计时器一起工作_Ios_If Statement_Timer_Swift4 - Fatal编程技术网

Ios If语句不与计时器一起工作

Ios If语句不与计时器一起工作,ios,if-statement,timer,swift4,Ios,If Statement,Timer,Swift4,当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.backgroun

当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)   
    }
}
请尝试以下代码:

@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()
中编写,而不是在
视图中编写。每次第二次更改都会调用
func clocker()
,因此您应该在
func clocker()
中实现if语句。但是在视图按字面意思显示后,不会调用
viewdideappease