ナビゲーションコントローラーにいくつかのビューが埋め込まれたコアデータベースのプロジェクトがあります。これらのビューの1つに、モーダルビューを開くボタンがあります。問題は、ビューに手動でを追加する必要があっUINavigationBar
たことです。これは、テーブルビューでスクロールすることを意味します。この問題を解決する方法は、ビューをナビゲーションコントローラーに埋め込むことです。これを試したところ、モーダルビューを開こうとするとアプリがクラッシュし、次のエラーが発生しました。
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UINavigationController setManagedObjectContext:]
私のapplicationDidFinishLaunchingWithOptions
方法は、ユニバーサルCoreDataアプリの標準です。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController;
UINavigationController *navigationController = [splitViewController.viewControllers lastObject];
splitViewController.delegate = (id)navigationController.topViewController;
UINavigationController *masterNavigationController= [splitViewController.viewControllers objectAtIndex:0];
GHiPadMasterViewController *controller = (GHiPadMasterViewController *)masterNavigationController.topViewController;
controller.managedObjectContext = self.managedObjectContext;
}
else {
UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
GHMasterViewController *controller = (GHMasterViewController *)navigationController.topViewController;
controller.managedObjectContext = self.managedObjectContext;
}
return YES;
}
モーダルビューにナビゲーションコントローラーを使用するにはどうすればよいですか?
また、ストーリーボードを使用していることにも注意してください。