Objective-C 函数(方法)的定义和调用
轉(zhuǎn)自:http://blog.csdn.net/dirknow/article/details/6602655
函數(shù)定義和調(diào)用
Object-C的函數(shù)定義和調(diào)用都比較特別,為了讓對(duì)象執(zhí)行某個(gè)操作,需要向?qū)ο蟀l(fā)送消息,因此,函數(shù)的調(diào)用被稱作Object Messaging。其消息的定義是[Receiver Message],前者是接收消息的對(duì)象,后者是消息的本身。此處先看看函數(shù)的定義:
?
函數(shù)的定義由函數(shù)的類型標(biāo)記(Method type identifier)、返回值(return type)、一個(gè)或者多個(gè)的函數(shù)簽名關(guān)鍵字(Method signature)、參數(shù)的類型和命名信息組成。
?
函數(shù)的真實(shí)命名由各個(gè)級(jí)聯(lián)的函數(shù)簽名關(guān)鍵字組成。例如上述函數(shù)定義中函數(shù)真實(shí)的命名是(insertObject:atIndex:)分號(hào)隔開參數(shù)的聲明。局部的函數(shù)簽名關(guān)鍵字看起來(lái)更像是函數(shù)參數(shù)的內(nèi)部命名,真正的參數(shù)命名反而在Object Messaging中不出現(xiàn)。例如,上述的函數(shù)調(diào)用可以寫成
[myArray insertObject:anObject atIndex:0];? 再來(lái)看一個(gè)例子,前一行是函數(shù)的定義,后面一行是函數(shù)的調(diào)用,可以看到后面的調(diào)用Ojbect Messaging中,寫的是函數(shù)方法簽名的關(guān)鍵字 (Method signature keywords)而不是參數(shù)命名(parameter names)。由于沒有特別的函數(shù)名一項(xiàng),注意其第一個(gè)函數(shù)方法簽名關(guān)鍵字的 命名看起來(lái)就像函數(shù)名(changeColorTo)+第一個(gè)參數(shù)(Red)?- (int)changeColorToRed:(float)red green:(float)green blue:(float)blue; [myColor changeColorToRed:5.0 green:2.0 blue:6.0];?上述例子中,實(shí)例方法的真是命名是:?-changeColorToRed:green:blue:?,冒號(hào)隔開的各個(gè)參數(shù)順序不能更改。總結(jié)
以上是生活随笔為你收集整理的Objective-C 函数(方法)的定义和调用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于在windows上首次编译运行pbr
- 下一篇: tune声场测试软件_SIA Smaar