Thursday, 15 August 2013

[CustomViewController respondsToSelector:]: message sent to deallocated instance

[CustomViewController respondsToSelector:]: message sent to deallocated
instance

This is used to work fine for my pre-ARC code, but since refactoring all
the project to be ARC compatible, I start getting this crash:
[CustomViewController respondsToSelector:]: message sent to deallocated
instance
My project is an iPad app with a split view, but contrary to apple
documentation, previous developer has put another view controller to be
visible on app launch before split view. So I know this is not the right
way to do, but as I said it used to work before ARC integration so I need
to get a workaround with this.
The root view controller which contain a menu of items, each item display
a detail form to be filled, then a click on next button move to the next
detail screen, etc.
The issue starts when I click on home button put on root view to get back
to the home view, here is the relevant code that move the user to the home
screen:
//this method is in the appdelegate, and it gets called when clikc on home
button located on the root view
- (void) showHome
{
homeController.delegate = self;
self.window.rootViewController = homeController;
[self.window makeKeyAndVisible];
}
Then when I click on a button to get back to the split view (where are the
root/details view), the app crashes with the above description. I profiled
the app with instruments and the line of code responsible of that is
located in the RootViewController, in the didSelectRowAtIndexPath method,
here is the relevant code:
if(indexPath.row == MenuCustomViewController){
self.customVC=[[CustomViewController alloc]
initWithNibName:@"CustomVC"
bundle:nil];
[viewControllerArray addObject:self.customVC];
self.appDelegate.splitViewController.delegate = self.customVC;
}
customVC is a strong property, I tried to allocate directly and assign to
the instance variable but that didn't help to fix the crash. Any thoughts
?

No comments:

Post a Comment