UINavigationController viewController内部通信

时间:2009-11-02 21:52:27

标签: iphone cocoa-touch iphone-sdk-3.0

推送到UINavigationController上的UIViewControllers的最佳方式是什么?

方法链接回最根目录的父视图控制器?

将引用连接到其他视图控制器w / IB?

2 个答案:

答案 0 :(得分:1)

首先,您应该问为什么他们彼此交谈而不是与模型层交谈,让其他视图控制器观察模型层。视图控制器之间的大量喋喋不休通常表明设计不佳,但有时会出现这种情况。

一般来说,我建议松散耦合,通常最好在NSNotifications中实现。

如果您需要双向通信,NSNotifications是不合适的,但在这种情况下,您可能确实有设计错误。但如果这是一个很好的设计,我会考虑风险投资的情况,需要与所有风险投资协调,而不是与他们的父母。在前一种情况下,我将导航控制器子类化以提供协调。在后一种情况下,我会使用父指针。

但强烈需要VC聊天的最常见情况是你的视图控制器正在做一些应该在Model层完成的事情。

答案 1 :(得分:1)

我实际上正在键入Rob Napier输入的确切消息,当SO给我一个答案通知时(感谢抢劫;)。

罗布遗漏了代表团。您可能也想看看它。