У меня есть навигационный контроллер в классе MainMenuViewController.Когда я нажимаю FirstViewController в navigationController, я перехожу ко второй сцене (FirstViewController), и все в порядке.Но когда я хочу вернуться к корневому контроллеру (MainMenuViewController), моя программа вылетает в main.m с ошибкой Thread 1: Программа получила сигнал: "EXC_BAD_ACCESS".Вы можете мне помочь?
int main(int argc, char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil); // CRASH
[pool release];
return retVal;
}
ProjectAppDelegate.h:
@interface ProjectAppDelegate: NSObject <UIApplicationDelegate> {
UIWindow *window;
MainMenuViewController *mainVC;
UINavigationController *navigationController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet MainMenuViewController *mainVC;
@property (nonatomic, retain) UINavigationController *navigationController;
+(ProjectAppDelegate.h*)getInstance;
@end
ProjectAppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
ProjectAppDelegateInstance = self;
self.navigationController = [[UINavigationController alloc] initWithRootViewController:mainVC];
[self.navigationController setNavigationBarHidden:TRUE];
[self.window addSubview:self.navigationController.view];
[self.window makeKeyAndVisible];
return YES;
}
MainMenuViewController.m
- (IBAction)actonFirst:(id)sender
{
FirstViewController *firstVC = [[[FirstViewController alloc] initWithPageNum:1] autorelease];
[[ProjectAppDelegate getInstance].mainVC.navigationController pushViewController:firstVC animated:TRUE];
}
FirstViewController.m
- (IBAction)actonHome:(id)sender
{
[[ProjectAppDelegate getInstance].mainVC.navigationController popToRootViewControllerAnimated:TRUE];
}