gpt4 book ai didi

ios - 定时器未同步

转载 作者:行者123 更新时间:2023-11-28 15:25:00 26 4
gpt4 key购买 nike

抱歉,如果这是一个新手问题,我是 iOS 和 Swift 的新手。我有一个计时器,我知道我可以使用“CADisplayLink”,但如果我使用它,我计时器中的毫秒数将像 1、3、7...67、71...一样跳跃,我不需要这个,我需要 1, 2, 3, 4, 5 ... 54, 55, 56 , 57...在 iPhone 7、iPhone 7 Plus、iPhone 5 中功能还不错,但在 iPhone SE、iPad Retina、iPad Pro、iPad Air 中定时器太慢了,所以基本上定时器是倾斜的。

计时器的运行不如默认计时器应用程序(FPS 问题?)

我需要几毫秒来完成每一步:

func updateStopwatch() {
milliseconds += 1
print(milliseconds)
if milliseconds == 100 {
milliseconds = 0
seconds += 1
}
let millisecondsString = milliseconds > 9 ?"\(milliseconds)" : "0\(milliseconds)"
let secondsString = seconds > 9 ?"\(seconds)" : "\(seconds)"
stopWatchString = "\(secondsString).\(millisecondsString)"
labelTimer.text = stopWatchString
}

@IBAction func startStopButtonTapped(_ sender: Any) {
if isTimerRunning {
isTimerRunning = !isTimerRunning
timer = Timer.scheduledTimer(timeInterval: 0.001, target: self, selector: #selector(updateStopwatch), userInfo: nil, repeats: true)
}else{
isTimerRunning = !isTimerRunning
timer.invalidate()
}
}

最佳答案

没有理由每毫秒更新一次屏幕。如果你真的需要定时器这么快,你需要在这里进行一些优化。首先尝试每 40 或什至 100 毫秒更新 labelTimer.text(并为此计算字符串),用户体验没有差异。

P.S.:第四行有错别字:你需要千,而不是百。

关于ios - 定时器未同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45394289/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com