从子视图控制器到容器视图控制器的通信
Posted
技术标签:
【中文标题】从子视图控制器到容器视图控制器的通信【英文标题】:Communication from child view controller to container view controller 【发布时间】:2015-11-20 01:34:16 【问题描述】:我正在构建视图控制器层次结构。 我有一个子视图控制器,距离容器视图控制器 2 层。
这个子视图控制器有一个按钮来执行某个动作。
将其传达给容器视图控制器的最佳方式是什么。 我尝试使用响应者链发送消息。 考虑到 2 个级别的深度,拥有一个代表似乎非常棘手。 有没有更好的办法?
【问题讨论】:
【参考方案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;
【讨论】:
以上是关于从子视图控制器到容器视图控制器的通信的主要内容,如果未能解决你的问题,请参考以下文章