iOS開發中模型、視圖及控制器的作用
創客學院iOS開發培訓講師:我們深入iOS UI、動畫和手勢背后的技術之前,掌握一些基礎知識很重要。對于設計師而言,雖然不要求讀完本文后能夠編寫代碼,但是有一些標準的iOS開發策略,開發者或者必須在基于iOS SDK開發中遵循,或者應該作為最佳實踐來遵循。作為設計師,了解這些因素對開發人員的影響,對于理解如何設計最佳用戶體驗是至關重要的。作為開發人員,快速溫習—下最佳實踐并沒有害處。
iOS開發中模型、視圖及控制器的作用:
當談及編碼原則時,模型一視圖一控制器(MVC)是最基礎的。其核心思想是,MVC描述了應用程序的數據、用戶界面和“大腦”的關系。通過設計,MVC的三個組成部分都保持獨立。
MVC中的模型是應用程序存儲數據的地方。對于地址簿來說,數據是所有的聯系人。該模型知道地址簿里每個人的所有數據,但是它沒有辦法把數據呈現給用戶看。因為地址簿的模型是與視圖和控制器分開的,作為開發人員,你可以在自己的應用程序中訪問用戶地址簿聯系信息,并且用于不同的用途。你可以重新設計聯系信息呈現給用戶的方式,或者重新設計你的應用程序與數據的交互方式。同樣,當設計自己的應用程序時,把模型與視圖和控制器分開的設計能讓升級、修正bug和重用代碼更加輕松和快速。
MVC中的視圖通常是用戶界面:即用戶所看到的,包括使用應用程序所需要的選項。在某些情況下,視圖可以直接和模型對話,但是通常是通過控制器來和模型產生交互,控制器決定了一個行為該做什么。在通訊簿的視圖是你在設備屏幕上看到的聯系人名單。當你在視圖中選擇一個聯系人時,這個行為會發送到控制器。然后控制器從模型中取得必要的聯系信息,再把這些信息往回傳遞給視圖,視圖最終顯示給用戶。
控制器是應用程序的大腦。控制器通常決定了應用程序的導航風格和工作流程。模型存儲數據,視圖呈現數據,而控制器決定了如何存儲和存儲什么樣的數據,以及如何呈現和呈現什么樣的數據。
讓我們再來看通訊簿的例子,但是這次來搜索一個聯系人。我們在視圖的搜索框里輕敲,開始執行搜索,視圖告知控制器“我在搜索聯系人XYZ”控制器接受這個搜索請求,然后決定如何以最優的方式從模型那里獲取所需的信息。一旦控制器從模型那里獲得所需的信息,它就傳回給視圖,最后視圖把信息呈現給用戶。
值得注意的是,MVC架構內部是循環的。信息和行為在組件之間自由流動,但是需要良好地建立每個組件,以便這些核心任務能獨立。對以上內容如果感興趣的朋友,可以免費注冊創客學院官網會員就能觀看免費的iOS開發培訓課程視頻講座。
- 贊