iOS開發(fā)中模型、視圖及控制器的作用

  創(chuàng)客學院iOS開發(fā)培訓講師:我們深入iOS UI、動畫和手勢背后的技術(shù)之前,掌握一些基礎(chǔ)知識很重要。對于設(shè)計師而言,雖然不要求讀完本文后能夠編寫代碼,但是有一些標準的iOS開發(fā)策略,開發(fā)者或者必須在基于iOS SDK開發(fā)中遵循,或者應該作為最佳實踐來遵循。作為設(shè)計師,了解這些因素對開發(fā)人員的影響,對于理解如何設(shè)計最佳用戶體驗是至關(guān)重要的。作為開發(fā)人員,快速溫習—下最佳實踐并沒有害處。



  iOS開發(fā)中模型、視圖及控制器的作用:

  當談及編碼原則時,模型一視圖一控制器(MVC)是最基礎(chǔ)的。其核心思想是,MVC描述了應用程序的數(shù)據(jù)、用戶界面和“大腦”的關(guān)系。通過設(shè)計,MVC的三個組成部分都保持獨立。

  MVC中的模型是應用程序存儲數(shù)據(jù)的地方。對于地址簿來說,數(shù)據(jù)是所有的聯(lián)系人。該模型知道地址簿里每個人的所有數(shù)據(jù),但是它沒有辦法把數(shù)據(jù)呈現(xiàn)給用戶看。因為地址簿的模型是與視圖和控制器分開的,作為開發(fā)人員,你可以在自己的應用程序中訪問用戶地址簿聯(lián)系信息,并且用于不同的用途。你可以重新設(shè)計聯(lián)系信息呈現(xiàn)給用戶的方式,或者重新設(shè)計你的應用程序與數(shù)據(jù)的交互方式。同樣,當設(shè)計自己的應用程序時,把模型與視圖和控制器分開的設(shè)計能讓升級、修正bug和重用代碼更加輕松和快速。

  MVC中的視圖通常是用戶界面:即用戶所看到的,包括使用應用程序所需要的選項。在某些情況下,視圖可以直接和模型對話,但是通常是通過控制器來和模型產(chǎn)生交互,控制器決定了一個行為該做什么。在通訊簿的視圖是你在設(shè)備屏幕上看到的聯(lián)系人名單。當你在視圖中選擇一個聯(lián)系人時,這個行為會發(fā)送到控制器。然后控制器從模型中取得必要的聯(lián)系信息,再把這些信息往回傳遞給視圖,視圖最終顯示給用戶。

  控制器是應用程序的大腦。控制器通常決定了應用程序的導航風格和工作流程。模型存儲數(shù)據(jù),視圖呈現(xiàn)數(shù)據(jù),而控制器決定了如何存儲和存儲什么樣的數(shù)據(jù),以及如何呈現(xiàn)和呈現(xiàn)什么樣的數(shù)據(jù)。

  讓我們再來看通訊簿的例子,但是這次來搜索一個聯(lián)系人。我們在視圖的搜索框里輕敲,開始執(zhí)行搜索,視圖告知控制器“我在搜索聯(lián)系人XYZ”控制器接受這個搜索請求,然后決定如何以最優(yōu)的方式從模型那里獲取所需的信息。一旦控制器從模型那里獲得所需的信息,它就傳回給視圖,最后視圖把信息呈現(xiàn)給用戶。

  值得注意的是,MVC架構(gòu)內(nèi)部是循環(huán)的。信息和行為在組件之間自由流動,但是需要良好地建立每個組件,以便這些核心任務能獨立。對以上內(nèi)容如果感興趣的朋友,可以免費注冊創(chuàng)客學院官網(wǎng)會員就能觀看免費的iOS開發(fā)培訓課程視頻講座。


                                                                                       查看更多關(guān)于“iOS開發(fā)培訓”的相關(guān)資訊>>


the end

評論(0)