Ich studierte Swift und wurde mit folgender Syntax verwirrend:
%Vor%Schatz ist benutzerdefinierte Klasse, wie folgt deklariert:
%Vor%In Obj-C eckige Klammern bedeuten Methode, aber was heißt das:
%Vor%Kann jemand eine Erklärung geben? Danke!
Ok, das ist die Bedeutung von
%Vor%z. Wenn Sie möchten, dass das Array 2 Elemente enthält, können Sie
schreiben %Vor%Hoffe, das hilft.
Aktualisierung: Mein Beispiel kann auch so geschrieben werden
%Vor%Tatsächlich kann der Compiler dank der Typinferenz den Typ der Variable Schätze beim Betrachten des Typ des zugewiesenen Wertes.
[Treasure]
ist nur eine Syntax Zucker für Array<Treasure>
.
Auf die gleiche Weise [String:Treasure]
ist nur eine Syntax Zucker für Dictionary<String,Treasure>
.
[]
ist nur ein leeres Array des von Ihnen definierten Typs. Genauso ist [:]
ein leeres Wörterbuch.
Wenn es um schnelle und eckige Klammern geht, sind die Regeln einfach. Sie werden nur in zwei Situationen verwendet:
1) Arbeiten mit Array- und Dictionary -Typen:
%Vor%2) für Subskriptionsobjekte , die Subskribierung unterstützen:
%Vor% Da [
und ]
in benutzerdefinierten Operatoren nicht erlaubt sind, sind dies die einzigen Verwendungen für den Moment.