【发布时间】:2012-11-19 02:07:50
【问题描述】:
我对 NSTimer 有疑问。我每 100 毫秒开始并重复一次,我有一个计数器来检查我是否运行了 10 秒。问题是它在近 1 分钟内停止,而不是在 10 秒内停止。 这是我的代码
timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(checkTimer) userInfo:nil repeats:YES];
-(void)checkTimer
{
timerCount += 1;
if(timerCount == 1)
{
NSLog(@"start");
}
if(timerCount == 103)
{
NSLog(@"i got it");
}
}
这是日志:
2012-11-19 08:57:42.063 Karagram[11708:540b] start
[Switching to process 8707 thread 0x2203]
2012-11-19 08:58:39.514 Karagram[11708:540b] i got it
我不明白为什么会出错。有人可以告诉我为什么吗? 谢谢。
【问题讨论】:
-
您的应用在这段时间里是空闲的还是在做很多其他的处理?
-
我正在流式传输音频,需要使用计时器来计算何时停止流式传输。
-
这段时间你的应用是否在后台运行?如果您的应用在后台,计时器不会运行。
-
不,它还在播放屏幕中。
-
那你贴的日志输出为什么会显示进程切换?
标签: iphone ios nstimer counter