2016-11-25 19 views
1

UIViewControllerにはUINavigationControllerが埋め込まれています。私はこのviewControllerを提示したいと提示した後、私はまた、ナビゲーション方法(&ポッププッシュ)を必要とするので、私はUIViewControllerの代わりにUINavigationControllerを提示していますが、そのために、私は、以前のものViewControllerフォームにアクセスできませんのように、そのViewControllerにカスタムデータを渡す必要がありますViewController。 ここに私のコードです。NavigationController経由でデータを渡す

UINavigationController *navigationController = [self.storyboard instantiateViewControllerWithIdentifier:@"MyNavigationIdentity"]]; 

[self presentViewController:navigationController animated:YES completion:nil]; 

P.S私はできないallocinit新しいnavigationController私はストーリーボードから私のnavigationControllerを設計していて。

+0

このためには、あなたの 'UINavigationController'の' childViewControllerers'プロパティを使う必要があります。あなたは詳細を私の答えを確認することができます – KrishnaCA

答えて

4

を使用してUINavigationControllerViewController埋め込みにアクセスすることができます。

if (navigationController.viewControllers.count > 0) { 
    //Cast UIViewController with your custom Controller 
    ViewController *vc = (ViewController*) [navigationController.viewControllers firstObject]; 
    //Now pass data you want 
    vc.passData = ... 
} 
3

は、あなたは、単にあなたがUINavigationControllerのごviewControllerからviewControllersプロパティにアクセスすることができますchildViewControllersプロパティ

NSArray *viewControllers = [navigationController childViewControllers]; 
if (viewControllers.count > 0) { 
    UIViewController *myViewController = (UIViewController *)[viewControllers firstObject]; 
} 
+0

あなたは歓迎です:) – KrishnaCA

関連する問題