Нужно ли использовать цикл выполнения с моим NSTimer в этом случае? - PullRequest
0 голосов
/ 16 мая 2011

Я не хочу спать () моего приложения, но я хочу, чтобы оно ожидало, пока мой таймер завершит свое действие (в основном, обновляя 4 UILabels, по одной в секунду).

Есть некоторый код, который я хочу запустить в главном цикле после завершения таймера - я хочу, чтобы он дождался завершения таймера. В данный момент основной цикл запускает таймер, а затем переходит прямо к следующему блоку кода (в то время как таймер отсчитывает время на заднем плане). Но на самом деле я хочу, чтобы таймер завершил обновление 4 UILabels, а затем я хочу, чтобы основная программа запустила следующий блок кода.

Я гуглю и смотрю несколько плохих уроков на YouTube, но думаю, что мне следует использовать цикл выполнения. Будет ли это правильно?

Ответы [ 3 ]

0 голосов
/ 16 мая 2011

вам требуется использовать 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
}
0 голосов
/ 16 мая 2011

Не думаю, что runloop может вам чем-то помочь, Томсан и Джхалия правы, делайте так Даже после этого вы хотите попробовать что-то с циклом выполнения, а затем просто попробовать с циклом выполнения вторичного потока. Не трогайте основной цикл выполнения приложения, так как оно может перестать отвечать на запросы

0 голосов
/ 16 мая 2011

Почему бы вам не ввести код, который вы хотите запустить, в функцию, вызываемую таймером?Таким образом, он не будет вызван, пока не завершится таймер?

...