0
私のAppDelegateでは、xcode4テンプレートを使って私のsplitviewをセットアップしました。コードは以下の通りです。私の質問は、どのように私はMasterViewControllのdidSelectRowAtIndexPathメソッドからdetailItemプロパティにアクセスするのですか?新しいsplitviewテンプレートがスターターコードの構造を変更し、detailViewControllerがIBOutletとして設定されなくなりました。iPad detailItem Access
AppDelegate.m
masterViewController = [[MasterViewController alloc] initWithNibName:@"MasterViewController_iPad" bundle:nil];
detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController_iPad" bundle:nil];
UINavigationController *masterNavigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController];
UINavigationController *detailNavigationController = [[UINavigationController alloc] initWithRootViewController:detailViewController];
self.splitViewController = [[UISplitViewController alloc] init];
self.splitViewController.delegate = detailViewController;
self.splitViewController.viewControllers = [NSArray arrayWithObjects:masterNavigationController, detailNavigationController, nil];
self.window.rootViewController = self.splitViewController;
MasterViewController.m 私はこのような何かをしたいと思います:
self.detailViewController.detailItem = some object;
私は既にそれを試してみました:**キャッチされていない例外 'NSInvalidArgumentException'、理由: - [UINavigationController setDetailItem:]:インスタンス0x6058380に送信されたセレクタが認識されませんでした ' – RickR
'[[[self。 splitViewController.viewControllers objectsAtIndex:1] rootViewController] setDetailItem:someObject]; '代わりに、UINavigationコントローラーとView Controllerについて一般的な内容をお読みください。 – MrMage
お返事ありがとうございます。私は一般的にUINavigationとView Controllerについては読んだことがありますが、解決策を見ることはできませんでした。あなたのソリューションに関しては、rootViewControllerを使用しても動作しませんでしたが、visibleViewControllerは機能しません。私はそれをより良く理解するためにドキュメンテーションに潜入しています。再度、感謝します。 – RickR