中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

iOS開發(fā)設(shè)計模式之MVC-創(chuàng)新互聯(lián)

本片文章介紹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)

成都定制網(wǎng)站建設(shè)
资源县| 柯坪县| 双江| 鹤岗市| 皋兰县| 石柱| 高平市| 射洪县| 布尔津县| 临城县| 武宁县| 鹤庆县| 五常市| 吉木乃县| 龙胜| 莱芜市| 贵港市| 兴城市| 兰溪市| 兴山县| 临高县| 石河子市| 桂平市| 南部县| 凭祥市| 梓潼县| 梁河县| 晋州市| 鄂州市| 鲁甸县| 德保县| 沾益县| 荣昌县| 黔南| 乌鲁木齐县| 固安县| 江门市| 长武县| 池州市| 寿宁县| 高青县|