Swift xcode 9.2 iOS快速定时器
几年前我使用了Xcode和swift,现在又回来了,我正在尝试制作一个每秒执行一个过程的计时器。但是有了这个新的swift和Xcode 9.2,NSTimer和Timer.scheduledTimer就不存在了,我找不到任何关于如何在这个新版本的Xcode中创建计时器的文档。谁能帮忙告诉我怎么做。提前感谢。Timer.scheduleTimer仍然存在。Swift xcode 9.2 iOS快速定时器,swift,xcode,nstimer,Swift,Xcode,Nstimer,几年前我使用了Xcode和swift,现在又回来了,我正在尝试制作一个每秒执行一个过程的计时器。但是有了这个新的swift和Xcode 9.2,NSTimer和Timer.scheduledTimer就不存在了,我找不到任何关于如何在这个新版本的Xcode中创建计时器的文档。谁能帮忙告诉我怎么做。提前感谢。Timer.scheduleTimer仍然存在。 试着写。在Swift 4中,你应该使用“定时器”: var timer: Timer! timer = Timer.scheduledTime
试着写。在Swift 4中,你应该使用“定时器”:
var timer: Timer!
timer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(runTimedCode), userInfo: nil, repeats: true)
在您的情况下,应该将“repeats”设置为true。完成计时器后,请确保使其无效:
timer.invalidate()
将@obj放在函数前面。你准备好出发了
@obj fun runTimedCode() {
// do your stuff
}
祝你好运 您需要向运行循环添加计时器:
let aTimer = Timer(timeInterval: 1, repeats: true, block: { (timer) in
//do things. Don't forget about retain cycles.
})
RunLoop.current.add(aTimer, forMode: .defaultRunLoopMode)
编辑:
我的错,没有注意到问题是关于定时的。感谢David Rönnqvist注意到并纠正了我的错误。对不起,我已经重新启动了Xcode,它现在正在工作。给我们看一些代码。也许我们可以指出发生了什么。在默认模式下,当前运行循环中已经安排了一个。