gpt4 book ai didi

iphone - NSTimer 可靠的替代品

转载 作者:可可西里 更新时间:2023-11-01 03:06:31 26 4
gpt4 key购买 nike

我有一个应用程序,它应该每 1 秒记录一次某些事情,我目前正在使用 NSTimer,但是如果我的应用程序转换屏幕(或几乎任何其他东西,真的),它会减慢计时器有点导致读数不准确。

什么是可靠的替代品?我目前的代码如下:

timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(update) userInfo:nil repeats:YES];

最佳答案

NSTimer 永远不能保证准时触发。但是您可以比现在更可靠地使用 NSTimer。当您使用 scheduledTimerWithTimeInterval 时,您会创建一个 NSTimer,它会在 NSDefaultRunLoopMode 的运行循环中进行调度。此模式在使用 UI 时暂停,因此当有用户交互时您的计时器不会触发。要避免这种暂停,请使用模式 NSRunLoopCommonModes。为此,您必须像这样自己安排计时器:

timer = [NSTimer timerWithTimeInterval:1 target:self selector:@selector(update) userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];

关于iphone - NSTimer 可靠的替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8172473/

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