Sagen wir, zum Beispiel, haben Sie den folgenden Code ein:Swift - Machen Sie die Etiketten auf Konstruktor Parameter optional?
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)
Ist es möglich, die SomeStruct Struktur zu ändern Rechts die folgende Zeile Code zu machen?
let smth = SomeStruct(str, integer)
Richtig, aber zu gespaltene Haare bei der Formulierung der ursprünglichen Frage: Dies macht keine Parameterbeschriftungen * optional * an der Anrufstelle - es macht es erforderlich, dass der Anrufer sie auslässt. Eine Funktion/Initialisierer-Deklaration spezifiziert genau eine Syntax für den Aufruf. Wenn Sie Anrufern mehrere Optionen bereitstellen möchten, deklarieren Sie mehrere Initialisierer. – rickster
Das ist ein guter Punkt. Wenn der Initialisierer auf diese Weise definiert ist, ist 'SomeStruct (arg1: str, arg2: integer) 'nicht länger ein gültiger Aufruf. –