Цель состоит в том, чтобы получить текущий NSManagedObjectContext для работы с Core Data. В iOS 4.3 я установил делегат UINavigationController как AppDelegate так (в AppDelegate.m):
self.navigationController.delegate = self;
и я мог бы сделать что-то вроде этого (везде, где мне нужен контекст):
NSManagedObjectContext *context = [self.navigationController.delegate performSelector:@selector(managedObjectContext)];
Теперь, в iOS 5, я использую раскадровку, и мне сложно разобраться, как это сделать. В первую очередь я использовал делегата, потому что я не думаю, что вы хотите постоянно проходить через AppDelegate.h.