Wykonywanie metod jedna po drugiej z przerwami między wykonywaniem

Newbie obj-c question. Piszę prostą prezentację na iPada nie dla Appstore. Moim zadaniem jest zaimplementowanie kilku metod wykonywanych jedna po drugiej z małymi przerwami między nimi. Główna struktura wygląda tak:

wyświetl ładunkipauza dwie sekundy, a następnie wykonanie metody1dwusekundowa przerwa, a następnie wykonanie metody2dwusekundowa pauza, a następnie wykonanie metody3 itd.

Pierwsza metoda, którą wywołuję z -viewDidLoad:

NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(firstCountStarts) userInfo:nil repeats:NO];

Wszystko jest w porządku, metoda zaczyna się 2 sekundy po załadowaniu widoku. Od wewnątrz metody1 próbuję wywołać metodę 2 w ten sam sposób, ale zaczyna się ona wykonywać jednocześnie z metodą1. Metoda wyzwalana w ten sam sposób3 (wywoływana z metody2) i wszystkie metody po nich w ogóle nie są wykonywane. Próbowałem umieścić wszystkie te metody w -ViewDidLoad i nazwać je z opóźnieniami:

 [self method1];
 [self performSelector:@selector(method2) withObject:nil afterDelay:2];
 [self performSelector:@selector(method3) withObject:nil afterDelay:4];
 etc...

Ale po wywołaniu metody2 wszystkie metody po wykonaniu. Jeśli dobrze rozumiem problem w wątkach. Czy muszę używać GCD do wykonywania metod w różnych kolejkach? A może problem w innym?

Dzięki, koledzy!

questionAnswers(2)

yourAnswerToTheQuestion