导航控制器和容器视图之间的通信

时间:2016-04-16 18:58:14

标签: ios objective-c swift uinavigationcontroller uicontainerview

      Parent
  View Controller
 _________________
|                 |
|                 |
|                 |       Navigation Cont.
|_________________|      _________________
|                 |     |                 |
|                 |     |                 |
| Container View  | --> |                 |  -->  Child View Controllers 
|                 |     |                 |
|_________________|     |_________________|

我的应用程序具有由父视图控制器和包含导航控制器(及其子视图控制器)的容器组成的导航结构。问题是在初始化这些子视图控制器期间,我想传递父视图控制器提供的一些值。不幸的是,父级中使用的方法prepareForSegue仅检测容器segue,但在子视图控制器发生更改时不会调用它。

如何解决这个问题?我正在使用Swift,但我也理解Objective-C。

2 个答案:

答案 0 :(得分:0)

您可以使用data之类的,

prepareforsegue

您可以从容器viewcontroller

执行此操作
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// Make sure your segue name in storyboard is the same as this line
if ([[segue identifier] isEqualToString:@"YOUR_SEGUE_NAME_HERE"])
{
    // Get reference to the destination view controller
    YourViewController *vc = [segue destinationViewController];

    // Pass any objects to the view controller here, like...
    [vc setMyObjectHere:object];
}
}

并将this link的传递数据引用到`containerview的VC'

答案 1 :(得分:0)

嗯,最后需要时间......但我终于明白了。 这很简单:孩子将与self.parentview.parentview的父母交谈。几位代表已经完成了。