2011-09-21 116 views
1

可能重複:
Understanding Model-View-Controller模型,視圖,控制器混亂

我對如何瓜分我的代碼,通常是一個普通的編程問題(我試圖讓遠離這一點)我只是把它寫在viewController中,在視圖控制器中有很多很多的代碼。但是現在我已經回顧了關於MVC的一些信息,但是我有一些問題。

我的問題

主要是,如果我的圖控制器(拿着模型和視圖),並在模型中我運行的方法計算出的視圖中的號碼顯示,所以只是簡單INT該視圖將在屏幕上顯示並顯示。爲了讓我的模型告訴我的觀點,我應該直接從模型---->視圖去做。還是應該將數據返回給控制器,然後將其發送到視圖?最後,如果我需要將數據發送回控制器,我該怎麼做,因爲我認爲模型應該不知道控制器,反之亦然。

對不起,冗長的問題。感謝你的幫助。

+0

按,因爲我知道我的理解模式 - *您的數據庫* 查看 - *你的佈局,您創建一個使用筆尖或語法PRO * 控制器 - *你的UIViewController * –

+0

既然你標記你的問題的iOS,我認爲這是一個非常好的觀點@bzlm指的問題。 Apple的MVC與通常意義上的不同之處有所不同。 –

回答

0

網絡上有很多關於此的信息。從Wikipedia

雖然MVC有不同的調味劑,控制流程通常是 如下:

  1. 用戶以某種方式在用戶界面進行交互(爲 例如,通過按下鼠標按鈕)。
  2. 控制器通知模型的用戶行爲,可能 導致模型的狀態發生變化。 (例如, 控制器更新該用戶的購物車中。)

  3. 視圖查詢模型,以便產生適當的用戶界面 (例如,圖中列出了購物車的內容)。 視圖從模型中獲取它自己的數據。在一些實施方式中,控制器可以向視圖發出通用指令以呈現 本身。在其他情況下,視圖會自動通過 狀態更改(觀察者)的模型通知需要更新屏幕。

  4. 用戶界面等待進一步的用戶交互,其中 重新啓動控制流週期。

MVC的目標是,通過分離模型和視圖,以減少建築設計 複雜性,提高靈活性和可維護性 的代碼。MVC也被用來簡化設計自主的 和自我管理的系統

0

只要你不使用綁定,您可以只需模型類你的數據庫的操作,視圖爲您interfaceobjects和一個控制器,它可以從早期檢索數據並將其放入後者中,並且結構合理。至於退路:應用程序所做的一切都是由一種事件或另一種事件觸發的。根據這些,你必須從你的界面( - >網點)獲取適當的值。對於其他任何事情,你實際上必須做一些進一步的研究控制器和綁定。