我正在制作一个游戏,其中有一个计时器显示当前会话已经过了多长时间.我已经按照几个教程阅读文档,似乎无法弄清楚为什么会返回错误.这是我的代码:
var timerT = Timer()
func startTimer () {
self.timerT = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(timeFunc), userInfo: nil, repeats: true)
}
@objc func timeFunc (_ timer: Timer) {
timeS += 1
}
@IBAction func newGameAction(_ sender: UIButton) {
Timer.invalidate(timerT)
game = SetGame()
updateUIfromModel()
startTimer()
}
Run Code Online (Sandbox Code Playgroud)
很多Mahalo.
你需要调用invalidate()a的实例Timer,而不是它Timer本身.
更改:
Timer.invalidate(timerT)
Run Code Online (Sandbox Code Playgroud)
至:
timerT.invalidate()
Run Code Online (Sandbox Code Playgroud)