一衙解、什么是外部參數(shù)名?
淺顯地說焰枢,外部參數(shù)名就是在調(diào)用一個(gè)方法時(shí)要在方法的參數(shù)前面加上一個(gè)特定的名字蚓峦,目的是便于閱讀代碼,提高維護(hù)效率医咨。
二枫匾、在最新的Xcode中,外部參數(shù)名的性質(zhì)與用法如下
性質(zhì):
函數(shù)可同時(shí)有局部名稱(內(nèi)部使用)和外部名稱(調(diào)用函數(shù)時(shí)使用)拟淮,方法的參數(shù)也類似干茉,不過方法和函數(shù)的局部名稱和外部名稱的默認(rèn)行為是不一樣的
Swift中默認(rèn)給第一個(gè)參數(shù)名稱一個(gè)局部參數(shù)名稱,第二和后續(xù)的參數(shù)局部參數(shù)名稱和外部參數(shù)名稱默認(rèn)相同
用法示例:
在其他語言中如果我們這樣定義一個(gè)方法:
我們一般這樣調(diào)用:
而Swift中這種寫法是有錯(cuò)誤的很泊,
如上的定義方法角虫,系統(tǒng)報(bào)錯(cuò)如下:
應(yīng)該這樣調(diào)用:
所謂argument labels 即 外部參數(shù)名。
我在第一次接觸到這個(gè)東西時(shí)不知所措委造,因?yàn)槲也]有顯示的制定外部參數(shù)名戳鹅,但是系統(tǒng)給添加了默認(rèn)的與形參相同的外部參數(shù)名。但是奇怪的是第一個(gè)參數(shù)x卻沒有默認(rèn)制定外部參數(shù)名昏兆。
原因是:
Swift中默認(rèn)給第一個(gè)參數(shù)名稱一個(gè)局部參數(shù)名稱枫虏,第二和后續(xù)的參數(shù)局部參數(shù)名稱和外部參數(shù)名稱默認(rèn)相同。
修改方法的外部參數(shù)名稱
有時(shí)為方法的第一個(gè)參數(shù)提供外部參數(shù)名也是有用的爬虱,可以顯示在參數(shù)前添加#號(hào)
如果不想為方法的第二個(gè)及后續(xù)參數(shù)提供外部參數(shù)名稱隶债,在前面使用下劃線 (_) 作為該參數(shù)的顯式外部名稱。
1跑筝、比如死讹,你想要這樣調(diào)用方法:
應(yīng)該這樣定義方法:
2、又比如曲梗,你想要這樣調(diào)用方法:
應(yīng)該這樣定義方法:
3赞警、或者顯示制定其他的外部參數(shù)名
這樣定義:
這樣調(diào)用: