Swift函式與類中方法的引數標籤

2021-07-05 11:57:12 字數 1146 閱讀 2959

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...