我正试图将我的头围绕可可触摸控制器。主要问题是我想同时在屏幕上显示一个以上的控制器 - 我想拥有一个由较小视图组成的较大视图(控制器A),它们由自己的控制器(如B)控制。我想这样做,因为该部门使代码更清洁。有什么不好的是,额外的控制器(类型B)不是屏幕上的“头等公民”,例如他们没有收到自动查询和通知。 (并且不能容易地显示模式控制器,他们必须将presentModal…
消息发送给它们的父控制器。)立即在屏幕上显示多个视图控制器?
Cocoa观点的A和B控制器之间有什么区别?系统是否保留了某种指向“最前面的控制器”的指针,这是一个特权发送通知和类似的东西?为什么其他控制器不能接收它们,即使它们的视图在屏幕上? “屏幕上”有多个控制器被认为是黑客?还是支持,我只是缺少一点?谢谢。
更多关于我想解决的问题:我正在写一个简单的照片浏览器。照片以全屏显示,用户可以向左或向右滑动以更改照片。 A控制器负责滚动部分,B控制器负责照看每张照片本身。
隔离乙似乎是个好主意,因为这些照片是从网络加载,有很多可能发生,就像网络可能会下降等等。在B控制器中,代码非常简单,因为B仅适用于一张特定照片。如果我将代码移到A控制器,事情会变得混乱。
我不喜欢目前的解决方案的唯一的事情是,我必须手动解决乙不是一个“一流”的控制器。我必须通过A手动传递一些呼叫到B,当B想要显示一个模式对话时,它必须发送presentModal…
给A.这很丑陋。
很好的回答,谢谢了良好的和详细的解释。我知道屏幕上显示的是意见,而不是控制器,这就是为什么我一直在引用“屏幕上”,意思是“在屏幕上观看”的原因。我会更详细地写出问题的情况。 – zoul 2010-03-11 10:12:57