_resignRootViewController causes app to crash.
- by RickiG
[MainViewController _resignRootViewController]: message sent to deallocated instance 0x4ebfe50
This error happens when I try to pop my MainViewController Object from within it self:
- (void) switchToTableView { //a method on the MainViewController
[self.navigationController popViewControllerAnimated:NO];
[[UIApplication applicationDelegate] switchToTableView]; //convenience method for the app delegate
}
The debugger stops at the [super dealloc] command in MainViewControllers dealloc method.
I do the exact same thing in the TripTableViewController, but here it never crashes.
MainViewController and TripTableViewController are handled in my AppDelegate like this:
- (void) switchToTableView {
TripTableViewController *tripTableViewController = [[TripTableViewController alloc] init];
[[self.navigationController navigationBar] setHidden:NO];
[self.navigationController pushViewController:tripTableViewController animated:NO];
[tripTableViewController release];
}
- (void) switchToScrollView {
MainViewController *scrollView = [[MainViewController alloc] init];
[[self.navigationController navigationBar] setHidden:YES];
[self.navigationController pushViewController:scrollView animated:NO];
[scrollView release];
}
I am trying to achieve that when the user goes from TripTableViewController to MainViewController; TripTableViewController is released/popped and visa versa for the MainViewController.
I do not wish for the navigationController to make the decision about when to pop/cache/release them, this is why I try to do it from within it self.
I have not been able to find the _resignRootViewController mentioned anywhere. My guess is that it is a delegate message sent by a ViewController that resigns as rootViewController for a navigationController and that somehow it is called twice, once before MainViewCOntroller is released/popped and somehow again afterwards.
Have any one else seen this error message before? Google and the Apple Docs does not mention it?
How can I debug such an error?
Hope someone can guide me in the right direction on this one, Thanks:)