objective-c中的函式標籤也是函式引數的一部分,它避免了引數過多的情況下分不清每個引數的含義。objective-c的優秀特性被swift繼承下來了。
1.函式的引數標籤:
swift可以為每個函式的引數指定乙個名字,在函式被呼叫時,可以通過該標籤來獲取對應引數的具體含義。
fun showinfo(sname name:string,sage age:int)
showinfo(sname: "weichuang",sage:22)
//sname表示在外部呼叫該函式時,需要顯式地寫出該引數的標籤(命名)。
2.類中方法的引數命名規則
雖然在類的內部定義方法的方式和定義函式的方式相同,但是使用引數名稱的規則卻有所區別。
func sayto(target:string,withwords:string)
me.sayto("ricky",withwords:"hello,world")//me是sayto所在類的物件
在呼叫類中方法時,有如下規則:
以上的規則可以理解為:假如沒有顯式指定外部引數名,從第二個引數開始,所有的引數名稱的前面相當於有乙個」#」號,」#」用來表示區域性引數名和外部引數為同一名稱。
當然,如果方法定義中顯式制定了外部引數名的話,則在呼叫時,必須使用指定的外部引數名。
3.構造方法的引數名稱
觀察以下構造方法的例項:
init
(name:string,age:int)
init
(name:string)
varp=human
(name:"chuang",age:22)
vart=human
(name:"jie")
可以發現,被隱式呼叫的構造方法中的引數名稱」name」和」age」在作為內部引數的同時也充當了外部引數。
在例項方法中,預設能充當外部引數名的引數是從第二個引數開始的,但是構造方法卻是從第乙個引數開始的。為什麼會是這樣呢?因為構造方法名稱都是init,而例項方法本身往往就能說明第乙個引數的意義。
swift 中 方法,與 方法的定義
oc中 方法的定義 方法可以直接用類名可調,不需要建立物件 bool 返回值型別 nsstring identitystring 傳入值型別 bool judgeidentitystringvalid nsstring identitystring swift 放的使用 cgfloat 返回值型別,...
Swift中方法閉包引數不能省略括號的一種情況
我們知道在swift中,如果方法的最後乙個引數是乙個閉包型別,則可以省略該引數,直接在函式後面跟乙個閉包,比如 func test count int,int bool 可以這麼呼叫 test 11 但是有些情況不能省略括號,比如for語句中 for dinosaur in dinosaurs.fi...
OC中方法與函式的區別
方法 方法是objective c獨有的一種結構,只能在objective c中宣告 定義和使用,c語言不能宣告 定義和使用。1 類方法以 號開頭,物件方法以 號開頭 void init 類方法 void show 物件方法 2 在 inte ce和 end之間宣告,在 implementation...