7
比方說,比如,你有下面的代碼:Swift - 使構造函數參數上的標籤可選?
struct SomeStruct {
init (arg1: String, arg2: Int){
// Does Stuff with Variables
}
}
// Some Point Later
var str = "fasfsad"
var integer = 343
let smth = SomeStruct(arg1: str, arg2: integer)
是否有可能修改SomeStruct結構,使下面的代碼行是否合法?
let smth = SomeStruct(str, integer)
正確的,但在原始問題的措辭上分割頭髮:這不會在呼叫地點使參數標籤*可選* - 它要求呼叫者省略它們。函數/初始化程序聲明只是指定一種調用它的語法。如果您想爲多個選項提供呼叫者,請聲明多個初始化者。 – rickster 2014-09-28 20:57:43
這是一個很好的觀點。如果初始化器是這樣定義的,'SomeStruct(arg1:str,arg2:integer)'不再是有效的調用。 – 2014-09-28 21:00:58