本片文章介紹MVC設(shè)計模式及其在iOS開發(fā)中的使用技巧
創(chuàng)新互聯(lián)建站是一家專注于網(wǎng)站設(shè)計制作、做網(wǎng)站與策劃設(shè)計,陜西網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務涵蓋:陜西等地區(qū)。陜西做網(wǎng)站價格咨詢:18980820575什么是MVC設(shè)計模式
MVC是設(shè)計模式的起源,也是在軟件工程領(lǐng)域使用最多的一種設(shè)計模式。
MVC即:Model模型、View視圖、Controller控制器
模型:
在模型對象中封裝數(shù)據(jù)并定義操作數(shù)據(jù)的特定邏輯行為
模型可以表示復雜的數(shù)據(jù)結(jié)構(gòu),可以是屏幕上顯示的數(shù)據(jù)、等待處理的數(shù)據(jù)等
視圖:
使用視圖對象向用戶展示信息
視圖對象可以響應用戶的操作,并懂得如何將自己展現(xiàn)在屏幕上
視圖對象通常從應用程序的模型對象中獲取數(shù)據(jù)用以展示。
可以跟一個模型對象的部分、整體或者多個模型對象合作。
控制器:
使用控制器將模型和視圖聯(lián)系在一起,就像視圖對象和模型對象的中間人。
控制器對象還可以為應用程序執(zhí)行其他操作,比如管理其他對象的生命周期,進行設(shè)置和協(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)絡(luò)傳遞過來的數(shù)據(jù)等。
視圖的使用
純代碼設(shè)計視圖:
1. 定義一個視圖子類
2. 提供類方法創(chuàng)建視圖對象
2.1 類方法封裝alloc+init
2.2 重寫init方法,創(chuàng)建所有的子視圖并進行一次性的屬性設(shè)定
2.3 進行屏幕適配:重寫layoutSubviews方法或使用AutoLayout
3. 視圖子類添加數(shù)據(jù)模型屬性并重寫setter方法將數(shù)據(jù)顯示到子視圖
如果子視圖的數(shù)據(jù)固定可能不需要數(shù)據(jù)模型屬性
xib設(shè)計視圖:
1. 在Xib中設(shè)計一個視圖,設(shè)計好視圖中的子控件及其相關(guān)屬性,并進行屏幕適配
2. 定義一個視圖的子類,父類類型應當為Xib中設(shè)置的視圖類的類型,并在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ù),包括獲取、解析等功能
...
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前標題:iOS開發(fā)設(shè)計模式之MVC-創(chuàng)新互聯(lián)
標題路徑:http://www.rwnh.cn/article28/dhhdcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、外貿(mào)網(wǎng)站建設(shè)、移動網(wǎng)站建設(shè)、動態(tài)網(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)
猜你還喜歡下面的內(nèi)容