iOS開發中的MVC

2021-06-13 11:07:39 字數 1003 閱讀 8119

m = model,個人理解為業務邏輯,也就是你的程式處理了一些什麼樣的業務,一般是一系列的api供controller呼叫

v = view,檢視,也就是你的程式外觀、ui,你所能看到,觸控到的,程式的展現

c = controller,控制器,個人理解為程式邏輯,作為m和v溝通的橋梁,在ios開發中經常被放在和v一起

mvc的目的就是解耦。或者應該說一切模式的目的都是為了解耦。

如圖所示,m和v是不能直接通訊的,只能通過controller,controller就是整個程式的邏輯.

controller可以用model的api,指揮model做任何事情,而model只能被動,比如kvo,傳送notification。

view也不能直接操作controller,但可以通過委託的方式,很好的例子就是uitableview,uitableview要顯示的資料,多少條,每條的內容,就在controller實現uitableviewdatasource協議,並讓該controller成為列表的委託(self.tableview.datasource = self;),然後view想要什麼就問controller拿,controller再問m拿,拿到了view就進行顯示。執行了操作也是類似的,就是uitableviewdelegate,這裡就不再贅述。其他的一些控制項,比如uibutton,uiswitch等可以通過target-action的形式操作controller。

mv分離的好處是,你可以寫好一套業務邏輯m,然後ipad和iphone只用寫v和c就可以了,m還可以放在同乙個project裡面,分target編譯ipad和iphone版本,這樣維護起來就不會出現功能增加,需要維護ipad和iphone兩個版本的頭疼問題了,也不用擔心漏改。同時程式的邏輯也更加的清晰,維護起來也比較輕鬆。

以上純屬個人對mvc理解,可能有不恰當,不對的地方懇請指出。

希望ios的開發者們可以多多交流分享,共同進步

ios開發中MVC模式的理解

mvc是80年代出現的一種軟體設計模式,是模型 model 檢視 view 和控制 controller 的縮寫。其中model的主要功能包括業務邏輯的處理以及資料的訪問,這是應用程式的主體部分。view的主要功能是用來跟使用者進行互動,實現資料的收集和展示,檢視是使用者看到和直接操作的的介面,它只...

iOS開發基礎 MVC

mvc模式我們談得夠多了,但總有一些爭議,比如rac說明文件裡關於mvc的描述是這樣的 來自reactivecocoa專案 史丹福大學的ios公開課第一課 來自斯坦福公開課 中文維基百科上mvc條目的配圖 來自中文維基百科 乍一看,以上都是三角形,都描述了model view controller三...

iOS開發之理解iOS中的MVC設計模式

模型 檢視 控制器 model view controller,mvc 是xerox parc在20世紀80年代為程式語言smalltalk 80發明的一種軟體設計模式,至今已廣泛應用於使用者互動應用程式中。在ios開發中mvc的機制被使用的淋漓盡致,充分理解ios的mvc模式,有助於我們程式的組織...