在这种情况下,我是否需要将运行循环与我的NSTimer一起使用?

时间:2011-05-16 10:14:43

标签: iphone ios4 nstimer nsrunloop

我不想睡觉()我的应用程序,但我确实希望它等待我的计时器完成它的动作(基本上更新4个UILabels,每秒一个)。

在计时器完成后,我想在主循环中重新启动一些代码 - 我希望它等到计时器完成。此时,主循环启动计时器,然后直接进入下一个代码块(当计时器在后台剔除时)。但实际上,我希望计时器完成4 UILabels的更新,然后我希望主程序触发下一段代码。

我正在谷歌搜索并观看YouTube上的几个不好的教程,但我认为我应该使用运行循环。这是正确的吗?

3 个答案:

答案 0 :(得分:0)

为什么不把你想要运行的代码放入定时器调用的函数中?那样在计时器完成之前它不会被调用?

答案 1 :(得分:0)

您需要使用NSTimer

使用以下代码作为参考。

NSTimer* myTimer = [NSTimer scheduledTimerWithTimeInterval: 60.0 target: self
                                   selector: @selector(callAfterSixtySecond:) userInfo: nil repeats: YES];

每60.0秒后,iOS将调用以下函数

-(void) callAfterSixtySecond:(NSTimer*) t 
{
    NSLog(@"red");
    //Put all your UILabel here
}

答案 2 :(得分:-1)

我不认为runloop对你有任何帮助,thomsan和jhaliya是对的,就这样做。即使在那之后你想尝试运行循环,然后尝试使用辅助线程的运行循环。不要触摸应用程序的主运行循环,因为您的应用程序可能无响应