我设计了一个自定义的容器视图控制器,该控制器模仿了path或facebook(滑动面板效果)之类的功能。为了与这些控制器进行通信,我定义了一个协议,该协议允许向他们询问一些信息/提醒他们发生一些事件。

现在,我决定将这些子视图控制器之一嵌入到导航控制器中。不幸的是,导航控制器现在正在接收那些协议方法,并且发生崩溃。

我的临时解决方案是创建一个中介方法,询问我要与之交谈的控制器是否实际上是导航控制器,如果是,则将消息发送到根目录。

还有其他更优雅的方式吗?似乎必须编写一种“在之间”方法来执行代码检查,这对我的基本控制器中的每个协议方法都执行此检查。有什么想法吗??

谢谢

最佳答案

您是否尝试将父视图控制器而不是特定的子控制器嵌入到NavigationController中?这样,您可以有效地允许所有子控制器参与导航。这将允许您正确使用协议。

关于ios - 使用定义的协议(protocol)将UINavigationController功能添加到容器 Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14513017/

10-14 13:21
查看更多