I have a navigation view controller that pushes “viewController1” properly. Then, from “viewController1”, goToApp function is called in order to push “appViewController”. Function goToApp is executed but aplication remains at same view, “viewControlller1”. How to push it? Thank you.
from viewController1:
navigationViewController *theInstance = [[navigationViewController alloc] init];
[theInstance goToApp];
in navigationViewController:
-(void)goToApp {
appViewController *AppsViewController = [[appViewController alloc] initWithNibName:@"appViewController" bundle:nil];
[[self navController] pushViewController:AppsViewController animated:YES];
[AppsViewController release];
}
goToApp executed but appViewController not launched.
You should not create a new UINavigationController in viewController1. You should get it through the property
navigationController. That property will return the UINavigationController that has the UIViewController on it’s stack (if any, so it can be nil).See: http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIViewController_Class/Reference/Reference.html property navigationController.
Besides that, it is a better convention to name your pointers correctly to what they represent. I would suggest to rename
theInstancetocurrentNavigationControlleror justnavigationController.