武漢達內IT培訓
美國上市IT培訓機構

18571612865

熱門課程

武漢IT培訓:理解iOS中的MVC設計模式

  • 時間:2019-08-09 16:58
  • 發布:湖北達內培訓學校
  • 來源:IT教程

今天要給大家講述的知識是iOS中的MVC設計模式,

模型-視圖-控制器(Model-View-Controller,MVC)是Xerox PARC在20世紀80年代為編程語言Smalltalk-80發明的一種軟件設計模式,至今已廣泛應用于用戶交互應用程序中。在iOS開發中MVC的機制被使用的淋漓盡致,充分理解iOS的MVC模式,有助于我們程序的組織合理性。

一、模型對象

模型對象封裝了應用程序的數據,并定義操控和處理該數據的邏輯和運算。例如,模型對象可能是表示游戲中的角色或地址簿中的聯系人。用戶在視圖層中所進行的創建或修改數據的操作,通過控制器對象傳達出去,最終會創建或更新模型對象。模型對象更改時(例如通過網絡連接接收到新數據),它通知控制器對象,控制器對象更新相應的視圖對象。

二、視圖對象
視圖對象是應用程序中用戶可以看見的對象。視圖對象知道如何將自己繪制出來,并可能對用戶的操作作出響應。視圖對象的主要目的,就是顯示來自應用程序模型對象的數據,并使該數據可被編輯。盡管如此,在 MVC 應用程序中,視圖對象通常與模型對象分離。
在iOS應用程序開發中,所有的控件、窗口等都繼承自 UIView,對應MVC中的V。UIView及其子類主要負責UI的實現,而UIView所產生的事件都可以采用委托的方式,交給UIViewController實現。

三、控制器對象

在應用程序的一個或多個視圖對象和一個或多個模型對象之間,控制器對象充當媒介。控制器對象因此是同步管道程序,通過它,視圖對象了解模型對象的更改,反之亦然。控制器對象還可以為應用程序執行設置和協調任務,并管理其他對象的生命周期。
控制器對象解釋在視圖對象中進行的用戶操作,并將新的或更改過的數據傳達給模型對象。模型對象更改時,一個控制器對象會將新的模型數據傳達給視圖對象,以便視圖對象可以顯示它。
對于不同的UIView,有相應的UIViewController,對應MVC中的C。例如在iOS上常用的UITableView,它所對應的Controller就是UITableViewController。
Model和View永遠不能相互通信,只能通過Controller傳遞。

Controller可以直接與Model對話(讀寫調用Model),Model通過Notification和KVO機制與Controller間接通信。
Controller可以直接與View對話,通過outlet,直接操作View,outlet直接對應到View中的控件,View通過action向Controller報告事件的發生(如用戶Touch我了)。Controller是View的直接數據源(數據很可能是Controller從Model中取得并經過加工了)。Controller是View的代理(delegate),以同步View與Controller。

關于iOS中的MVC設計模式武漢達內小編。就講到這里,更多關于ios的相關教程請關注武漢達內官方網站。

馬上預約七天免費試聽課

姓名:

電話:

上一篇:武漢IT培訓:關于Java混淆器的知識點你要知道的
下一篇:武漢IT培訓:編寫iOS應用程序有何不同

有位老師想和您聊一聊

選擇城市和中心
江西省

貴州省

廣西省

海南省

欧美高清vivoes69