Powiedzmy, na przykład, masz następujący kod:Swift - Czy etykiety na parametrach konstruktora są opcjonalne?
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)
Czy jest możliwe aby zmodyfikować struct SomeStruct aby następującą linię kodu prawnej?
let smth = SomeStruct(str, integer)
Poprawnie, ale Podziel włosy na pierwotne sformułowania pytania: nie powoduje to, że etykiety parametrów * opcjonalne * w witrynie wywołania - powodują, że dzwoniący je omija. Deklaracja funkcji/inicjalizatora określa dokładnie jedną składnię do wywołania tego. Jeśli chcesz udostępnić rozmówcom wiele opcji, zadeklaruj wiele inicjalizatorów. – rickster
To dobra uwaga. Jeśli inicjator jest zdefiniowany w ten sposób, 'SomeStruct (arg1: str, arg2: integer)' nie jest już poprawnym połączeniem. –