Using Design Patterns
在溧水等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),成都全網(wǎng)營銷,外貿(mào)營銷網(wǎng)站建設(shè),溧水網(wǎng)站建設(shè)費(fèi)用合理。
使用設(shè)計(jì)模式
設(shè)計(jì)模式解決通用軟件工程問題。模式是抽象設(shè)計(jì),沒有代碼。當(dāng)你采用設(shè)計(jì)時(shí),你是使用通用模式到你的特殊需求中區(qū)。不管你創(chuàng)建何種類型的app,都應(yīng)該很好的知道框架中采用的基本設(shè)計(jì)模式。理解設(shè)計(jì)模式幫助你高效的使用框架,并且允許你編寫更加可復(fù)用性、更加可擴(kuò)展性和更加靈活的app。
MVC
模型視圖控制器 (MVC)是所有iOS app良好設(shè)計(jì)的核心。MVC把在app中的對(duì)象分為三種角色:模型、視圖、和控制器。在這個(gè)模式中,模型與app的數(shù)據(jù)保持聯(lián)系,視圖顯示你的用戶界面并組成app的內(nèi)容,控制器管理你的視圖。通過響應(yīng)用戶的動(dòng)作和使用內(nèi)容填充視圖,控制器承擔(dān)起了模型和視圖之間通信的功能。
當(dāng)你在建立ToDoList app的時(shí)候,你是跟隨著以MVC為核心的設(shè)計(jì)。你在故事板中建立的界面組成視圖層。XYZAddToDoItemViewController和XYZToDoListViewController是控制器管理你的視圖。在Tutorial: Add Data中,你將合并數(shù)據(jù)來為app中的視圖和控制器工作。當(dāng)你開始設(shè)計(jì)你自己的app的時(shí)候,在你的設(shè)計(jì)中保持MVC的核心位置是非常重要的。
Target-Action
目標(biāo)-動(dòng)作
目標(biāo)-動(dòng)作是一個(gè)簡單概念的設(shè)計(jì)模式,它在特定事件發(fā)生時(shí),由一個(gè)對(duì)象發(fā)送消息到另一個(gè)對(duì)象。動(dòng)作消息是一個(gè)在源代碼中定義的選擇器,而目標(biāo)——接收消息的對(duì)象——是有能力執(zhí)行動(dòng)作的對(duì)象,通常是一個(gè)視圖控制器。用作發(fā)送動(dòng)作消息的對(duì)象是控件——例如按鈕、滑塊、開關(guān)——他們能觸發(fā)一個(gè)事件來響應(yīng)用戶的交互,例如輕拍、拖拽或者值改變。
例如,想象你想要在你的app中恢復(fù)默認(rèn)設(shè)置,用戶就輕拍Restore Defaults按鈕(在你的用戶界面創(chuàng)建)。首先,你實(shí)現(xiàn)一個(gè)動(dòng)作,restoreDefaults:,來實(shí)現(xiàn)恢復(fù)默認(rèn)設(shè)置。然后,你注冊(cè)按鈕的Touch Up Inside事件到restoreDefaults:發(fā)送動(dòng)作方法到視圖控制器來實(shí)現(xiàn)該方法。
你已經(jīng)在ToDoList app中使用了目標(biāo)-動(dòng)作模式。當(dāng)用戶輕拍XYZAddToDoItemViewController中的Done按鈕的時(shí)候,它的觸發(fā)的是unwindToList動(dòng)作。在這種情況下,Done按鈕是發(fā)送消息的對(duì)象,目標(biāo)對(duì)象是XYZToDoListViewController,動(dòng)作消息是unwindToList,這個(gè)事件觸發(fā)動(dòng)作消息被發(fā)送是用戶輕拍了Done按鈕。目標(biāo)-動(dòng)作模式是一個(gè)app中的不同部分定義交互并發(fā)送消息的強(qiáng)大的機(jī)制。
Delegation
委托模式
Delegation委托is a simple and powerful pattern in which one object in an app acts on behalf of, or in coordination with, another object. The delegating object keeps a reference to the other object—the delegate—and at the appropriate time sends a message to it. The message informs the delegate of an event that the delegating object is about to handle or has just handled. The delegate may respond to the message by updating the appearance (or state) of itself or of other objects in the app, and in some cases it will return a value that affects how an impending event is handled.
委托設(shè)計(jì)模式在框架類中普遍存在,但你也能在兩個(gè)自定義的對(duì)象中實(shí)現(xiàn)代理。常見的設(shè)計(jì)使用委托意味著允許子視圖控制器與父視圖控制器要進(jìn)行值(通常是用戶輸入的值)的交流。
你還不能使用代理模式,但在Tutorial: Add Data中,當(dāng)你添加額外的行為到你的XYZToDoListViewController類中時(shí),你將看到一個(gè)它的例子
這些都是一些常用的設(shè)計(jì)模式,你將在iOS開發(fā)中遇到他們,但還有更多的。當(dāng)你學(xué)習(xí)更多的關(guān)于Objective-C的知識(shí)的時(shí)候,你將發(fā)現(xiàn)你能使用其他的設(shè)計(jì)模式到你的app中。
Incorporating the Data
Working with Foundation
Copyright 2014 Apple Inc. All rights reserved. Terms of Use | Privacy Policy | Updated: 2013-10-22