【问题标题】:Communication from child view controller to container view controller从子视图控制器到容器视图控制器的通信
【发布时间】:2015-11-20 01:34:16
【问题描述】:

我正在构建视图控制器层次结构。 我有一个子视图控制器,距离容器视图控制器 2 层。

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

将其传达给容器视图控制器的最佳方式是什么。 我尝试使用响应者链发送消息。 考虑到 2 个级别的深度,拥有一个代表似乎非常棘手。 有没有更好的办法?

【问题讨论】:

    标签: ios uikit


    【解决方案1】:

    你可以使用这个函数找到包含的ViewController,将ContainViewController替换为你拥有的Class

    - (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;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-22
      • 1970-01-01
      • 2012-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多