【发布时间】:2015-11-20 01:34:16
【问题描述】:
我正在构建视图控制器层次结构。 我有一个子视图控制器,距离容器视图控制器 2 层。
这个子视图控制器有一个按钮来执行某个动作。
将其传达给容器视图控制器的最佳方式是什么。 我尝试使用响应者链发送消息。 考虑到 2 个级别的深度,拥有一个代表似乎非常棘手。 有没有更好的办法?
【问题讨论】:
我正在构建视图控制器层次结构。 我有一个子视图控制器,距离容器视图控制器 2 层。
这个子视图控制器有一个按钮来执行某个动作。
将其传达给容器视图控制器的最佳方式是什么。 我尝试使用响应者链发送消息。 考虑到 2 个级别的深度,拥有一个代表似乎非常棘手。 有没有更好的办法?
【问题讨论】:
你可以使用这个函数找到包含的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;
}
【讨论】: