gpt4 book ai didi

iphone - NSTimer 未运行

转载 作者:行者123 更新时间:2023-12-03 17:59:28 25 4
gpt4 key购买 nike

我有一个程序,我想在其中编写一个计时器来检查用户是否空闲。为此我编写了以下代码:

    if (!idleTimer) {
NSLog(@"make");
idleTimer=[[NSTimer alloc]initWithFireDate:[NSDate dateWithTimeIntervalSinceNow:10.0]interval:10 target:self selector:@selector(idleTimerExceeded) userInfo:nil repeats:NO];
NSLog(@"madetimer with: %f, %@", idleTimer.timeInterval, idleTimer.fireDate);
}else {
NSLog(@"no reset timer: %f", idleTimer.timeInterval);
if (fabs([idleTimer.fireDate timeIntervalSinceNow]) < 9) {
NSLog(@"reset");
[idleTimer setFireDate:[NSDate dateWithTimeIntervalSinceNow:10]];
}
}

但不知何故,我的日志显示间隔始终为 0.0000 。这意味着这里出了问题。有人可以帮助我吗?

最佳答案

我从未见过如此复杂的计时器。试试这个:

编写一个方法来检查用户是否空闲(比如说idleChecker)

然后使计时器可重复并调用该方法idleChecker

[NSTimer scheduledTimerWithTimeInterval:.5 target:self selector:@selector(idleChecker) userInfo:nil repeats:YES];

记得在.h文件中声明idleChecker方法

请注意,如果您想停止计时器事件,那么您需要维护对其的引用

NSTimer aTimer = [NSTimer scheduledTimerWithTimeInterval:.5 target:self selector:@selector(idleChecker) userInfo:nil repeats:YES];

然后停止它

[aTimer invalidate];

至于检查其是否正在运行,我只需在其中粘贴一条 nslog 消息,说明“检查空闲用户”之类的内容

关于iphone - NSTimer 未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8620374/

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