2015-11-20 162 views
0

我正在构建视图控制器层次结构。 我有一个从容器视图控制器2层深的子视图控制器。从子视图控制器到容器视图控制器的通信

此子视图控制器有一个执行特定操作的按钮。

这是传达给容器视图控制器的最佳方式。 我曾尝试使用响应者链发送消息。 有一个委托似乎超级棘手,因为它是2级深。 有没有更好的方法?

回答

0

您可以使用此功能查找包含的ViewController,用类代替ContainViewController你有

- (ContainViewController *)containViewController 
{ 
    UIViewController *iter = self.parentViewController; 
    while (iter) { 
     if ([iter isKindOfClass:[ContainViewController class]]) { 
      return (ContainViewController *)iter; 
     } else if (iter.parentViewController && iter.parentViewController != iter) { 
      iter = iter.parentViewController; 
     } else { 
      iter = nil; 
     } 
    } 
    return nil; 
} 
相关问题