我有以下内容,
class someViewController : ViewController{
var timer:Timer? = nil
override func viewDidLoad() {
timer = Timer.scheduledTimer(timeInterval: 5.0, target: self, selector: #selector(fire), userInfo: nil, repeats: true)
}
@objc func fire(){
print("fired")
}
}
点火功能从未被触发,我不明白为什么,我错过了什么?
问题是:计时器需要在主线程上调度:
DispatchQueue.main.async {
let timer = Timer.scheduledTimer(timeInterval: self.BLINK_TIMEOUT, target: self, selector: #selector(self.clearTimer), userInfo: nil, repeats: false)
}