本片文章介紹MVC設計模式及其在iOS開發(fā)中的使用技巧
專業(yè)領(lǐng)域包括成都網(wǎng)站設計、成都網(wǎng)站制作、商城建設、微信營銷、系統(tǒng)平臺開發(fā), 與其他網(wǎng)站設計及系統(tǒng)開發(fā)公司不同,創(chuàng)新互聯(lián)的整合解決方案結(jié)合了幫做網(wǎng)絡品牌建設經(jīng)驗和互聯(lián)網(wǎng)整合營銷的理念,并將策略和執(zhí)行緊密結(jié)合,為客戶提供全網(wǎng)互聯(lián)網(wǎng)整合方案。
什么是MVC設計模式
MVC是設計模式的起源,也是在軟件工程領(lǐng)域使用最多的一種設計模式。
MVC即:Model模型、View視圖、Controller控制器
模型:
在模型對象中封裝數(shù)據(jù)并定義操作數(shù)據(jù)的特定邏輯行為
模型可以表示復雜的數(shù)據(jù)結(jié)構(gòu),可以是屏幕上顯示的數(shù)據(jù)、等待處理的數(shù)據(jù)等
視圖:
使用視圖對象向用戶展示信息
視圖對象可以響應用戶的操作,并懂得如何將自己展現(xiàn)在屏幕上
視圖對象通常從應用程序的模型對象中獲取數(shù)據(jù)用以展示。
可以跟一個模型對象的部分、整體或者多個模型對象合作。
控制器:
使用控制器將模型和視圖聯(lián)系在一起,就像視圖對象和模型對象的中間人。
控制器對象還可以為應用程序執(zhí)行其他操作,比如管理其他對象的生命周期,進行設置和協(xié)調(diào)工作
用戶通過從視圖對象(如在文本框中輸入)得到的值,傳給控制器對象,控制器對象也可以讓視圖對象根據(jù)此用戶操作改變其外觀或行為。
模型的使用
1. 在控制器中封裝模型對象(數(shù)組)
如果是簡單對象(如NSString),無需使用模型類進行封裝
如果是非OC對象,則應進行一定的封裝;
如果是詞典數(shù)據(jù),則應字典轉(zhuǎn)模型
2. 字典轉(zhuǎn)模型
在iOS中數(shù)據(jù)的來源往往是:JSON、plist、XML等,這些數(shù)據(jù)首先轉(zhuǎn)換為字典或數(shù)組。
為了方便管理字典中的數(shù)據(jù),采用字典轉(zhuǎn)模型的方法,以模型對象管理。
字典的key作為模型中的屬性名
字典中的value作為模型對象中的屬性值。
構(gòu)造模型對象的方法中,傳遞字典對屬性進行初始化,
3. 控制器的模型數(shù)組屬性應當采取懶加載方式
即:重寫數(shù)組的getter方法,讓模型數(shù)據(jù)在第一次被使用時加載。
在屬性指針為nil時,從指定位置將數(shù)據(jù)加載的程序中,并創(chuàng)建數(shù)組將數(shù)據(jù)存儲到數(shù)組中。
指定的位置可以是本地的數(shù)據(jù)庫、plist、JSON,網(wǎng)絡傳遞過來的數(shù)據(jù)等。
視圖的使用
純代碼設計視圖:
1. 定義一個視圖子類
2. 提供類方法創(chuàng)建視圖對象
2.1 類方法封裝alloc+init
2.2 重寫init方法,創(chuàng)建所有的子視圖并進行一次性的屬性設定
2.3 進行屏幕適配:重寫layoutSubviews方法或使用AutoLayout
3. 視圖子類添加數(shù)據(jù)模型屬性并重寫setter方法將數(shù)據(jù)顯示到子視圖
如果子視圖的數(shù)據(jù)固定可能不需要數(shù)據(jù)模型屬性
xib設計視圖:
1. 在Xib中設計一個視圖,設計好視圖中的子控件及其相關(guān)屬性,并進行屏幕適配
2. 定義一個視圖的子類,父類類型應當為Xib中設置的視圖類的類型,并在xib中進行關(guān)聯(lián)
3. 提供類方法創(chuàng)建視圖對象,使用xib加載視圖對象的方式
3. 視圖子類添加數(shù)據(jù)模型屬性并重寫setter方法將數(shù)據(jù)顯示到子視圖
如果子視圖的數(shù)據(jù)固定可能不需要數(shù)據(jù)模型屬性
控制器的使用
控制器作為視圖與模型的橋梁,應答具有以下功能:
1. 管理視圖對象
2. 管理模型對象(數(shù)組)
3. 實現(xiàn)關(guān)聯(lián)的業(yè)務邏輯,如:子視圖的創(chuàng)建、模型的賦值等
4. 處理各種復雜的業(yè)務邏輯,如:按鈕被點擊時的響應動作
控制器可分成如下幾類:
視圖控制器:作為一個頁面的管理者
代理控制器:用來實現(xiàn)某些對象的數(shù)據(jù)源和代理方法
模型控制器:管理復雜的模型數(shù)據(jù),包括獲取、解析等功能
...
標題名稱:iOS開發(fā)設計模式之MVC
網(wǎng)站鏈接:http://jinyejixie.com/article24/pgggje.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、關(guān)鍵詞優(yōu)化、網(wǎng)站收錄、品牌網(wǎng)站設計、網(wǎng)站設計、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)