方法Method介紹:1-方法的定義

在iOS開發(fā)中,通過將一則消息message發(fā)送給一個(gè)對(duì)象(稱為為消息的接收者receiver),可以調(diào)用該對(duì)象的一個(gè)方法。在Objective-C中,有兩種類型的方法,實(shí)例方法與類方法。

1、有關(guān)方法的基本概念

[receiver message];//消息傳遞模型

消息message:在iOS開發(fā)中,調(diào)用一個(gè)方法相當(dāng)于傳遞一個(gè)消息,這里的消息指的是方法名(選擇器Selector)和參數(shù)。消息傳遞(Message Passing)是Objective-C最大的特色,對(duì)象不是簡(jiǎn)單的調(diào)用方法,而是相互傳遞消息,這與C++有很大差異;

接收者receiver:通常為一個(gè)對(duì)象,消息告訴接收者需要去做什么事情。當(dāng)消息發(fā)送的時(shí)候,系統(tǒng)從接收者的方法列表中選擇最合適的方法并調(diào)用。

方法method:一般來說,方法都包括方法聲明和方法實(shí)現(xiàn)兩部分,相關(guān)代碼分別編寫在.h和.m文件中。通俗來說,方法就是需要對(duì)象去完成某個(gè)工作,以實(shí)現(xiàn)某種功能,可以簡(jiǎn)單理解為函數(shù)(實(shí)際上和函數(shù)也有差別)。

發(fā)送消息:當(dāng)需要調(diào)用一個(gè)方法時(shí),通過給實(shí)現(xiàn)該方法的對(duì)象發(fā)送一條消息來實(shí)現(xiàn),簡(jiǎn)單來說,就是通知對(duì)象去調(diào)用其定義的某個(gè)方法或者其父類的某個(gè)方法。在發(fā)送的消息中,包含方法名稱以及參數(shù)。

選擇器selector:因?yàn)榉椒谙⒅胸?fù)責(zé)在對(duì)象的方法列表中,選擇一個(gè)方法執(zhí)行,因此方法名在消息中通常稱為選擇器。

2、方法的定義

方法聲明包含了如下幾個(gè)部分:方法類型標(biāo)示符、返回類型、方法名稱、參數(shù)類型和參數(shù)名稱。

- (void)insertString:(NSString *)aString atIndex:(NSUInteger)loc;

其中:

方法類型標(biāo)示符:-,即這是一個(gè)實(shí)例方法;

返回類型:void,即沒有返回值;

方法名稱:insertString: atIndex:(注意:一個(gè)方法的實(shí)際名稱是所有簽名關(guān)鍵詞的串聯(lián),包括冒號(hào)字符)

參數(shù)類型:該方法中包括了兩個(gè)參數(shù),兩個(gè)參數(shù)的類型為:NSString和NSUnteger;

參數(shù)名稱:該方法中包含了兩個(gè)參數(shù),兩個(gè)參數(shù)的名稱分別為:aString和loc。

注意:在定義方法時(shí),方法名稱以及參數(shù)名稱需要使用駝峰法來定義。

3、方法的類型

在iOS開發(fā)中,方法一共有兩種類型:

實(shí)例方法:消息的接收者必須為一個(gè)已經(jīng)實(shí)例化的對(duì)象,實(shí)例方法在定義時(shí)以“-”開頭。例如:

-(void)appendString:(NSString*)aString;

類方法:有時(shí)也稱為工廠方法,類方法常用于創(chuàng)建類的新實(shí)例,消息的接收者為一個(gè)類的類名,類方法在定義時(shí)以“+”開頭,類方法是一定有返回值的,返回類型通常為instancetype(即返回一個(gè)本類的對(duì)象)。例如:

+(instancetype)stringWithFormat:(NSString*)format,...NS_FORMAT_FUNCTION(1,2);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)至元數(shù)據(jù)結(jié)尾創(chuàng)建: 董瀟偉,最新修改于: 十二月 23, 2016 轉(zhuǎn)至元數(shù)據(jù)起始第一章:isa和Class一....
    40c0490e5268閱讀 2,053評(píng)論 0 9
  • *面試心聲:其實(shí)這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,618評(píng)論 30 472
  • 這篇文章完全是基于南峰子老師博客的轉(zhuǎn)載 這篇文章完全是基于南峰子老師博客的轉(zhuǎn)載 這篇文章完全是基于南峰子老師博客的...
    西木閱讀 30,887評(píng)論 33 466
  • 近期的一個(gè)非?;鸬男侣劸褪侨藱C(jī)大戰(zhàn)——阿爾法狗和韓國(guó)圍棋棋手李世石的圍棋對(duì)決,谷歌出品的機(jī)器人不負(fù)眾望,以...
    Doreen乖乖美美噠閱讀 491評(píng)論 2 1
  • 易城,地處中原西北,雖不大卻因地理位置特殊異常繁華,上至達(dá)官貴胄,下至地痞無賴,三教九流的人物隨處可見。在這個(gè)聲色...
    貓小黑閱讀 564評(píng)論 0 0

友情鏈接更多精彩內(nèi)容