我有以下代码:
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
to 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
这里的语义...阅读文档以确保您不会泄漏!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)