gpt4 book ai didi

ios - 如何更改 NSTimer 的计时?

转载 作者:IT王子 更新时间:2023-10-29 08:10:56 26 4
gpt4 key购买 nike

我有以下代码:

timer = [[NSTimer scheduledTimerWithTimeInterval:0.50 target:self selector:@selector(onTimer) userInfo:nil repeats:YES] retain];    

-(void) onTimer
{
}

每 0.50 秒调用一次 OnTimer 方法。

但现在我想增加时间间隔。

这意味着:

OnTimer calls after 0.55
OnTimer calls after 0.60
OnTimer calls after 0.65
OnTimer calls after 0.70
OnTimer calls after 0.75
& so on.

有什么解决办法吗?我已经尝试了很多,但它不起作用。

最佳答案

当然可以。将 repeats:YES 更改为 repeats:NO 以便计时器不重复,然后在 onTimer 中,只需启动一个新计时器更长的间隔。您需要一个变量来保存您的间隔,以便您可以通过 onTimer 每次将间隔延长一点。此外,您可能不再需要保留计时器,因为它只会触发一次,当它触发时,您将获得一个新计时器。

我不是 Objective-C 专家(或 iOS 专家...),已经有一段时间了,但我认为是这样的:

float gap = 0.50;

[NSTimer scheduledTimerWithTimeInterval:gap target:self selector:@selector(onTimer) userInfo:nil repeats:NO];

-(void) onTimer {
gap = gap + .05;
[NSTimer scheduledTimerWithTimeInterval:gap target:self selector:@selector(onTimer) userInfo:nil repeats:NO];
}

类似的东西?哦,我真的不太确定这里的 retain 语义......阅读文档以确保你不会泄漏!

关于ios - 如何更改 NSTimer 的计时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4152097/

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