Ejecutando métodos uno tras otro con pausas entre ejecutando

Newbie obj-c pregunta. Estoy escribiendo una presentación simple para iPad no para Appstore. Mi tarea es implementar algunos métodos ejecutados uno tras otro con pequeñas pausas entre ellos. La estructura principal se ve así:

ver cargasdos segundos de pausa, luego ejecutando method1dos segundos de pausa, luego ejecutando method2dos segundos de pausa, luego ejecutando method3 etc ...

Primer método que estoy llamando desde -viewDidLoad:

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

Todo está bien aquí, el método comienza 2 segundos después de que se cargue la vista. Desde dentro del método 1, trato de llamar al método 2 de la misma manera pero comienza a ejecutarse simultáneamente con el método 1. La misma forma activó el método 3 (llamado desde el método 2) y todos los métodos posteriores a ellos no se ejecutaron en absoluto. Intenté ubicar todos estos métodos en -ViewDidLoad y llamarlos con demoras:

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

Pero después de que method2 está llamando a todos los métodos después de que no se ejecutó. Si entiendo bien el tema en los hilos. ¿Necesito usar GCD para ejecutar métodos en colas diferentes? O tal vez problema en otra cosa?

Gracias, colegas!

Respuestas a la pregunta(2)

Su respuesta a la pregunta