从子视图控制器到容器视图控制器的通信

时间:2015-11-20 01:34:16

标签: ios uikit

我正在构建一个视图控制器层次结构。 我从容器视图控制器深入了2级子视图控制器。

此子视图控制器有一个按钮来执行某个操作。

将此信息传达给容器视图控制器的最佳方法是什么。 我尝试使用响应链发送消息。 有一个代表似乎超级棘手,因为它是2级深度。 还有更好的方法吗?

1 个答案:

答案 0 :(得分: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;
}