Ios If语句不与计时器一起工作
当10秒计时时。我想改变背景色。现在我的代码不起作用。当代码达到10秒时,没有任何更改。我也不认为计时器在工作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
@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
。