在这种情况下,是否需要在NSTimer中使用运行循环?

| 我不想睡​​觉()我的应用程序,但是我希望它在我的计时器完成其操作之前等待(基本上更新4个UILabel,每秒更新一次)。 计时器完成后,我想在主循环中触发一些代码-我希望它等待计时器完成。此刻,主循环启动计时器,然后直接进入下一个代码块(而计时器在后台滴答作响)。但是实际上,我希望计时器完成对4个UILabel的更新,然后希望主程序触发下一个代码块。 我正在Google上搜索,并观看了YouTube上的一些糟糕的教程,但我认为我应该使用运行循环。这是正确的吗?     
已邀请:

bab

为什么不将要运行的代码放入计时器调用的函数中?这样,直到计时器完成,它才会被调用?     
您需要使用
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
}
    
我认为runloop对您没有任何帮助,thomsan和jhaliya是正确的,那样做。即使在那之后,您也想尝试使用运行循环,然后再尝试使用辅助线程的运行循环。不要触摸应用程序的主运行循环,因为您的应用程序可能无响应     

要回复问题请先登录注册