我正試圖將我的頭圍繞可可觸摸控制器。主要問題是我想同時在屏幕上顯示一個以上的控制器 - 我想擁有一個由較小視圖組成的較大視圖(控制器A),它們由自己的控制器(如B)控制。我想這樣做,因爲該部門使代碼更清潔。有什麼不好的是,額外的控制器(類型B)不是屏幕上的「頭等公民」,例如他們沒有收到自動查詢和通知。 (並且不能容易地顯示模式控制器,他們必須將presentModal…
消息發送給它們的父控制器。)立即在屏幕上顯示多個視圖控制器?
Cocoa觀點的A和B控制器之間有什麼區別?系統是否保留了某種指向「最前面的控制器」的指針,這是一個特權發送通知和類似的東西?爲什麼其他控制器不能接收它們,即使它們的視圖在屏幕上? 「屏幕上」有多個控制器被認爲是黑客?還是支持,我只是缺少一點?謝謝。
更多關於我想解決的問題:我正在寫一個簡單的照片瀏覽器。照片以全屏顯示,用戶可以向左或向右滑動以更改照片。 A控制器負責滾動部分,B控制器負責照看每張照片本身。
隔離乙似乎是個好主意,因爲這些照片是從網絡加載,有很多可能發生,就像網絡可能會下降等等。在B控制器中,代碼非常簡單,因爲B僅適用於一張特定照片。如果我將代碼移到A控制器,事情會變得混亂。
我不喜歡目前的解決方案的唯一的事情是,我必須手動解決乙不是一個「一流」的控制器。我必須通過A手動傳遞一些呼叫到B,當B想要顯示一個模式對話時,它必須發送presentModal…
給A.這很醜陋。
很好的回答,謝謝了良好的和詳細的解釋。我知道屏幕上顯示的是意見,而不是控制器,這就是爲什麼我一直在引用「屏幕上」,意思是「在屏幕上觀看」的原因。我會更詳細地寫出問題的情況。 – zoul 2010-03-11 10:12:57