【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】iOS開(kāi)發(fā)篇-OC延展類目協(xié)議介紹_第1頁(yè)
【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】iOS開(kāi)發(fā)篇-OC延展類目協(xié)議介紹_第2頁(yè)
【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】iOS開(kāi)發(fā)篇-OC延展類目協(xié)議介紹_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】iOS開(kāi)發(fā)篇——OC延展類目協(xié)議介紹

藍(lán)鷗iOS培訓(xùn)講師推薦:大家都知道OC是在C++的基礎(chǔ)上面向?qū)ο蟮恼Z(yǔ)言,那么在OC中為大家提供了可以讓我們擴(kuò)展類定義的手段:也就是類目,延展和協(xié)議。下面具體介紹下:類目:為已知的類增加新的方法;延展:通知在本類的定義里使用類目來(lái)聲明私有方法;協(xié)議:協(xié)議聲明了可以被任何類實(shí)現(xiàn)的方法。但是大家一定要知道,這些手段只能增加類的方法,不過(guò)不能用于增加實(shí)例變量,要增加類的實(shí)例變量,只用通過(guò)定義子類來(lái)間接實(shí)現(xiàn)。1、類目1)聲明類目注:這個(gè)聲明有兩大特點(diǎn):1.1、現(xiàn)有類位于@interface關(guān)鍵字之后,其后是位于圓括號(hào)中的一個(gè)新名稱。表示類別的名稱是NumberConvenience,而且該類別將向NSString類中添加方法。只要保證類別名稱的唯一性,你可以向一個(gè)類中添加任意多得類別。1.2、可以指定希望向其添加類別的類以及類別的名稱,同時(shí)還可列出添加的方法,最后以@end結(jié)束。但是因?yàn)椴荒芴砑有聦?shí)現(xiàn)變量,所以和類聲明有區(qū)別的是,類別的聲明中沒(méi)有實(shí)例變量部分。2)類目的局限性2.1、無(wú)法向類中添加新的實(shí)例變量。類別沒(méi)有位置容納實(shí)例變量。2.2、名稱沖突,即類別中得方法與現(xiàn)有的方法重名。當(dāng)發(fā)生名稱沖突時(shí),類別具有更高的優(yōu)先級(jí)。你得類別方法將完全取代初始方法,從而無(wú)法再使用初始方法。有些編程人員在自己的類別方法中增加一個(gè)前綴,以確保不發(fā)生名稱沖突。有一些技術(shù)可以克服類別無(wú)法增加新實(shí)例變量的局限。例如,可以使用全局字典存儲(chǔ)對(duì)象與你想要關(guān)聯(lián)的額外變量之間的映射。但此時(shí)你可能需要認(rèn)真考慮一下,類別是否是完成當(dāng)前任務(wù)的最佳選擇。3)類目的作用cocoa中得類別主要用于3個(gè)目的:3.1、將類的實(shí)現(xiàn)分散到不同文件或者不同框架中。3.2、創(chuàng)建對(duì)私有方法的前向引用。3.3、向?qū)ο筇砑臃钦絽f(xié)議。2、延展可以看成是一種匿名的類目,有時(shí)候需要一些只是自己看見(jiàn)的,所用的私有方法這種私有方法可以通過(guò)延展的方式來(lái)聲明,定義的方法在類本身的@implementation代碼區(qū)域中進(jìn)行實(shí)現(xiàn)。定義延展(舉例)當(dāng)在定義延展的時(shí)候不提供類目名時(shí),延展中定義的方法既被視為“必須實(shí)現(xiàn)”的API在這種情況下,如果方法缺少實(shí)現(xiàn)代碼,則編譯器會(huì)報(bào)警告,此時(shí)方法的實(shí)現(xiàn)必須出現(xiàn)在類主體的@implementation代碼塊中。3、協(xié)議和代理模式但是,協(xié)議只聲明方法,不做具體實(shí)現(xiàn),接受協(xié)議的對(duì)象來(lái)實(shí)現(xiàn)。OC的協(xié)議是由@protocol聲明的一組方法列表,要求其它的類去實(shí)現(xiàn),相當(dāng)于@interface部分的聲明。這么說(shuō)大家可明白

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論