Swift 当另一个应用程序全屏运行时,NSTimer运行缓慢

Swift 当另一个应用程序全屏运行时,NSTimer运行缓慢,swift,macos,cocoa,nstimer,Swift,Macos,Cocoa,Nstimer,我正在使用NSTimer进行计时应用。计时器将更新推送到屏幕顶部系统栏中的计时器 我的一个用户注意到一个奇怪的现象,当他们全屏运行另一个应用程序时,计时器似乎损失了10%的时间。但是,如果另一个应用程序不是全屏的,那么它完全是在正确的时间运行的 我的方法是否存在缺陷: 以下方法由定时器功能触发: @objc func update() { currentTime += 1 updateMenuTimer() } private func updateMenuTimer() {

我正在使用NSTimer进行计时应用。计时器将更新推送到屏幕顶部系统栏中的计时器

我的一个用户注意到一个奇怪的现象,当他们全屏运行另一个应用程序时,计时器似乎损失了10%的时间。但是,如果另一个应用程序不是全屏的,那么它完全是在正确的时间运行的

我的方法是否存在缺陷:

以下方法由定时器功能触发:

@objc func update() {
    currentTime += 1
    updateMenuTimer()
}
private func updateMenuTimer() {
    guard let timeString = currentTimeString else { return }
    appDel?.updateMenuTimer(newTime: timeString)
}
// In AppDelegate I manage the status bar view
func updateMenuTimer(newTime: String) {
    statusItem.button?.title = newTime
}

NSTimer
并不是那么准确,这篇文章对此进行了一些描述,并引用了一些文档:。我建议在较短的时间间隔内使用计时器,通知用户界面根据计时器启动时最初保存的变量进行更新。

如何创建计时器?可能重复