English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Artikel werden Sie Typaliases in Swift und ihre Anwendungen lernen.
Typaliases erlauben es Ihnen, bestehendeDaten TypenBieten Sie eine neue Bezeichnung. Nach der Deklaration eines Typaliases können Sie den Alias in ganz dem Programm anstelle des bestehenden Typs verwenden.
Typaliases erstellen keine neuen Typen. Sie bieten nur eine neue Bezeichnung für bestehende Typen.
Das Hauptziel von typedef ist es, unseren Code lesbarer zu gestalten und ihn im Kontext klarer und verständlicher zu machen, um ihn für Menschen lesbar zu machen.
mit dem Schlüsselwort typedef deklariert werden:
typealias name = existing type
In Swift können die meisten Typen mit typealias verwendet werden. Sie können sein:
Eingebaute Typen(z.B. String, Int)
Benutzerdefinierte Typen(z.B. Klassen, Strukturen, Enumerations)
Komplexe Typen(z.B. Closures)
Sie können typealias für alle eingebauten Datentypen wie String, Int, Float und andere verwenden.
Beispiel:
typealias StudentName = String
Diese Deklaration ermöglicht
let name:StudentName = "Jack"
Ohne Verwendung von typealias sollte die String-Konstante so deklariert werden:
let name:String = "Jack"
In den beiden obigen Beispielen wird eine String-Konstante erstellt. Aber durch die Verwendung von typealias wird unser Code lesbarer.
In vielen Fällen müssen Sie Ihre eigenen Datentypen erstellen. Angenommen, Sie möchten einen Typ für Student erstellen, dann können Sie die folgenden Klassen verwenden, um ihn zu erstellen:
class Student { {}
Jetzt kann eine Gruppe von Schülern als Array dargestellt werden:
var students:Array<Student> = []
Durch die Verwendung von typealias zur Erstellung Ihres eigenen Typs für Array<Student> wird die obige Deklaration lesbarer:
typealias Students = Array<Student>
Jetzt können wir den Code lesbarer gestalten:
var students:Students = []
Let's analyze another example. Suppose we have a method that takes a closure as an input parameter.
If you are not familiar with closures, do not worry. Just consider it as a special kind of function.
func someMethod(oncomp: (Int)-> (String)){ {}
The above example takes a closure as the input of someMethod. The closure takes an Int value and returns a String.
You can see (Int)-> The use of (String) has no meaning for developers. You can use typealias to provide it with a new name:
typealias CompletionHandler = (Int)-> (String)
Now, you can rewrite the method as:
func someMethod(oncomp: CompletionHandler){ {}
We can see that using typealias, the same code looks clearer and more friendly to programmers.