Click here to Skip to main content
15,884,176 members
Articles / Mobile Apps / iOS
Tip/Trick

Avoid NSFetchedResultsController crashing app when popping

Rate me:
Please Sign up or sign in to vote.
0.00/5 (No votes)
7 Jan 2012CPOL 13.8K   1  
Stop app crashing with "-[MyClass controllerWillChangeContent:]: message sent to deallocated instance"?
Why is my app crashing with "-[MyClass controllerWillChangeContent:]: message sent to deallocated instance"?

The accepted answer is to set the NSFetchedResultsController to nil when the view disappears.

Java
-(void)viewWillDisappear:(BOOL)animated {
	self.fetchedResultsController = nil;
}


This, for me at least, resolved one problem and created a dozen more, Lists not displaying, deleting objects and alike. So I rolled back and took a closer look. The real problem occurred when I popped the UITableViewController. So taking the idea that setting the NSFetchedResultsController to nil could help, I set the NSFetchedResultsController to nil before popping the view and everything feel back into place.

Java
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
	...
	self.fetchedResultsController = nil; //This is the line that fixed issue
	[self.navigationController popViewControllerAnimated:YES];
}


I hope this tip has helped.

Rob

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Australia Australia
Enjoying life developing mobile device software for Contractors Apps and Ezi App.

I also teach C#, Java and Project Management a couple of evenings a week.

Prior to moving to DCB, I'd been a Windows software developer for nearly 15 years

Comments and Discussions

 
-- There are no messages in this forum --