Cambiar viewController al hacer clic en el botón

Soy nuevo en la programación de iPhone. Lo que intento es que tengo una pantalla con un botón. Y quiero cambiar el controlador de vista no solo la vista cuando hago clic en ese botón (sé cómo agregar una subvista) porque desde ese segundo controlador de vista, tengo que ir a la tercera vista que no es posible si agrego la subvista en primer lugar sitio. ¿Alguien puede ayudarme con eso? es posible? y si es así, ¿cómo? Todas las vistas y el controlador de vista se crean programáticamente. No estoy usando IB.

EDIT: aquí está el código relevante que se activa al hacer clic en el botón

-(id)showCurrentLoc:(id)sender { 
 locationController = [currentLocController alloc]; 
 [entry removeFromSuperview]; 
 [newLoc removeFromSuperview]; 
 [currentLoc removeFromSuperview]; 
 [self.view setBackgroundColor:[UIColor clearColor]]; //[self.view addSubview: [locationController view]]; 
 [self.navigationController pushViewController:locationController animated:YES];  [locationController release]; 
 return 0; 
} //Location Controller is the tableViewController

Gracias Vik

Respuestas a la pregunta(5)

Su respuesta a la pregunta