iOS開發 MVC設計模式

2021-07-10 09:28:12 字數 1150 閱讀 1124

聽說現在開始流行mvvm設計模式,聽上去好像有點新奇,暫時還是習慣mvc設計模式,接下來主講mvc模式.

說到ios中的mvc還是從2011秋季斯坦福課程的老頭的iphone公開課講起,這個教授講的概念很準確

並且最為淺顯易懂的.

model-view-controller

mvc設計模式認為有三種型別的物件:物件模型,檢視物件和控制器物件。

這個設計模式,就是用控制器controller將model和view進行分離,讓view和model之間沒有任何瓜葛,相互不知道對方的存在.

控制器,這個第三者可以讓他倆幹啥就幹啥.

上面理論講了一大堆,還是上圖直觀(摘自斯坦福公開課的課件):

(1) 控制器與檢視之間的互動大部分通過連線的xcode的連線就可以,例如outlet,例如**,有了這些,他們之間的溝通就暢通無阻了.

<1> 使用者在view上面的一些互動動作(如:單擊,雙擊,拖拽等)可以直接讓控制器去響應;

<2> view需要的資料來源可以通過控制器來提供;

<3> view上面的一些**事件也可以指派給控制器,讓控制器去完成.

這樣有點壞處就是,控制器會很忙,要處理很多事件,非常被動.具體什麼優化控制器裡面的**,等之後的文章中會有一篇專門講"controller****",通過封裝,讓控制器的**量不適於那麼臃腫.........

(2) 控制器還需要乙個很重要的角色:model

model,顧名知義,模型.我們通過模型來提供資料,最終才能有資料展現在使用者的眼前.

有了模型,控制器想什麼時候用資料,想什麼用都可以. 有了模型,控制器可以相當的任性.....

模型和控制器之間的聯絡可以通過通知(notification)和觀察者模式(kvo).模型沒必要知道控制器的存在,只需要提供資料就可以了,這樣可以減少耦合性,提高**的復用性.

model模型資料已經更新了,可以通過廣播的方式將資料更新資訊發出去.model的觀點:誰關心我的更改讓誰收聽去,我對誰收聽了我不感興趣。

(3)notification與kvo場景使用留著下一次具體上**解說.

總結一點:model和view不能直接互動,要通過控制器這個第三者來管理.這樣可以減少耦合性.

IOS設計模式 MVC模式

提到ios中的mvc不得不提2011秋季斯坦福課程的老頭,他的iphone開發公開課是所有描述ios中mvc模式最為準確並且最為淺顯易懂的。模型 檢視 控制器 這個模式其實應該叫做mcv,用控制器把model與view隔開才對,也就是model與view互相不知道對方的存在,沒有任何瓜葛,他們就像乙...

iOS開發總結 MVC模式

mvc,即模型 檢視 控制器 model view model 是軟體開發中應用甚廣的一種設計模式。其用意是將資料與檢視分化,利用模型資料控制檢視的顯示,但兩者的互動由控制器控制。在ios開發中,mvc模式應用很廣,是ios控制項設計的主要模式之一。uitableview與uicollectionv...

iOS基礎 設計模式 MVC

mvc 1 什麼是 mvc m model 模型 通常是一些模型,作用是處理應用程式資料邏輯的部分 v view 檢視 作用是在應用程式中處理資料顯示的部分 檢視的建立通常是依據模型資料 c controller 控制器 作用在是應用程式中處理使用者互動的部分,通常負責從檢視讀取資料,控制使用者輸入...