xcode 9.2 iOS swift 计时器

xcode 9.2 iOS swift timer

几年前我用过Xcode和swift,现在又回来了,我正在尝试制作一个每秒执行一个过程的计时器。但是有了这个新的 swift 和 Xcode 9.2,NSTimer 和 Timer.scheduledTimer 不再存在,我找不到任何关于如何在这个新版本的 [=16= 中制作计时器的文档].任何人都可以帮助并告诉我如何做到这一点。提前致谢。

Timer.scheduleTimer 仍然存在。 试试写。

在Swift4中,你应该使用'Timer':

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 注意到并纠正我。