【问题标题】:Call a method from a previous story board从以前的故事板调用方法
【发布时间】:2014-11-04 21:10:05
【问题描述】:

我有 mainstoryboard + viewcontroller

当我按下 mainstoryboard 上的一个按钮时,它会显示另一个 storyboard。

当我按下新故事板中的按钮时,我想调用主故事板的函数。

我怎样才能做到这一点?

【问题讨论】:

  • 您应该查看您的设计并弄清楚为什么您需要在不再可见的 viewController 上调用一个方法。也许这个函数可以被拉到单独的类中。
  • 使用协议是与堆栈中较低的控制器进行通信的常用模式。

标签: ios uistoryboard


【解决方案1】:

您可以像这样抓取故事板并从中实例化一个 viewController:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"yourStoryboardName" bundle:nil];
YourViewController *viewController = [storyboard instantiateViewControllerWithIdentifier:@"yourViewControllerIdentifier"];

但是如果你需要一个包含前一个视图控制器上下文的函数,你应该保留一个对它的引用并直接从那里调用你的方法。您还可以使用presentingViewController 属性来访问启动模态演示的视图控制器。或者,如果使用 navigationController,您可以使用 viewControllers 属性访问堆栈中以前的 viewController。

【讨论】:

    【解决方案2】:

    Abizem 的评论给了我正确的标签来搜索。

    “协议”。

    我在 stackoverflow 上找到了一个很好的解释。

    看那里: How to access a previous story board.

    看看 Matt Price 的答案。很好的解释!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-12
      • 1970-01-01
      • 1970-01-01
      • 2012-04-07
      • 2012-02-04
      • 1970-01-01
      • 2012-01-03
      相关资源
      最近更新 更多