I ran into the same problem, I will share my solution.
First you need a link to the Nav controller in the tab bar in the nib file, make sure you have connected it.
IBOutlet UINavigationController *navigationController;
Then grab the controller as recommended in the support docs and send it a managedObjectContext:
SavedTableViewController *saved = (SavedTableViewController *)[navigationController topViewController]; saved.managedObjectContext = self.managedObjectContext;
Alex (from another post) is right: βNormally, you should avoid getting shared objects from the application delegate. This makes it behave too much like a global variable, and it has a whole mess of problems associated with it.β
source share