私が読んだすべてのガイドとチュートリアルでは、次のようにアプリ デリゲートから実行するように指示されています。
UINavigationController *navController = (UINavigationController *)self.window.rootViewController;
PictureViewController *picList = (PictureViewController *)[[navController viewControllers] lastObject];
picList.managedObjectContext = self.managedObjectContext;
ただし、私のView Controllerは、コンテナView ControllerとNavigation View Controllerのクレイジーな階層にあります。これは、厄介な結果を招くことなく、ターゲットのView Controllerからそれを行うための許容可能な方法でもありますか?
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
self.managedObjectContext = appDelegate.managedObjectContext;