【问题标题】:Passing Data Via NavigationController通过 NavigationController 传递数据
【发布时间】:2016-11-25 06:39:57
【问题描述】:

我有一个UIViewController 嵌入了UINavigationController。我想展示这个viewController,在展示之后我还需要导航方法(推送和弹出)所以我展示UINavigationController而不是UIViewController,但为此我需要将自定义数据传递给ViewController无法访问之前的ViewController 中的ViewController。 这是我的代码。

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

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

PS 我不能 allocinit new navigationController 因为我正在从 Storyboard 设计我的 navigationController。

【问题讨论】:

    标签: ios objective-c uiviewcontroller uinavigationcontroller


    【解决方案1】:

    您可以从UINavigationControllerviewControllers 属性访问您的viewController

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

    【讨论】:

      【解决方案2】:

      您可以使用childViewControllers 属性访问嵌入在UINavigationController 中的ViewController

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

      【讨论】:

        猜你喜欢
        • 2015-01-13
        • 1970-01-01
        • 2021-09-30
        • 2014-11-30
        • 1970-01-01
        • 1970-01-01
        • 2020-03-07
        • 1970-01-01
        相关资源
        最近更新 更多