Swift Standardbibliothek (iOS/macOS): Vollständiger Überblick
Die Swift Standardbibliothek ist ein grundlegender Satz von Typen, Protokollen und Funktionen, auf dem die gesamte Entwicklung für iOS, macOS, watchOS und tvOS aufbaut. Im Gegensatz zu vielen Sprachen, in denen die Standardbibliothek minimalistisch ist, bietet Swift einen umfangreichen Werkzeugkasten direkt "aus der Box". In diesem Artikel werden wir die wichtigsten Komponenten der Bibliothek im Detail besprechen, die in der täglichen Entwicklung verwendet werden.
Grundlegende Datentypen und Protokolle
Das Fundament der Bibliothek bilden primitive Typen und Protokolle, die eine einheitliche Arbeit mit Daten gewährleisten.
- Gleichheits- und Vergleichsprotokolle:
Equatable,Comparable,Hashable— ermöglichen das Vergleichen und Hashen von Objekten. - Darstellungsprotokolle:
CustomStringConvertible,CustomDebugStringConvertible— für die textuelle Beschreibung von Objekten. - Basistypen:
Int,Double,Bool,String,Character— für maximale Leistung optimiert.
// Beispiel zur Verwendung von Protokollenstruct Person: Equatable, CustomStringConvertible { let name: String let age: Int var description: String { return "\\(name), \\(age) Jahre alt" }}
let alice = Person(name: "Alice", age: 30)let bob = Person(name: "Bob", age: 25)print(alice == bob) // falseprint(alice) // "Alice, 30 Jahre alt"Collections: Arrays, Dictionaries und Sets
Swift bietet drei grundlegende Collection-Typen, die für verschiedene Nutzungsszenarien optimiert sind.
Arrays
Geordnete Collections mit wahlfreiem Zugriff. Unterstützen dynamisches Erweitern und Verkleinern.
var numbers: [Int] = [1, 2, 3, 4, 5]numbers.append(6)numbers.remove(at: 0)let filtered = numbers.filter { $0 > 3 }print(filtered) // [4, 5, 6]Dictionaries
Ungeordnete "Schlüssel-Wert"-Collections. Schlüssel müssen Hashable sein.
var capitals: [String: String] = [ "Russland": "Moskau", "Frankreich": "Paris", "Japan": "Tokio"]capitals["Deutschland"] = "Berlin"if let russiaCapital = capitals["Russland"] { print("Die Hauptstadt Russlands ist \\(russiaCapital)")}Sets
Ungeordnete Collections mit eindeutigen Elementen. Ideal für Zugehörigkeitsprüfungen und mathematische Operationen.
let setA: Set = [1, 2, 3, 4]let setB: Set = [3, 4, 5, 6]let intersection = setA.intersection(setB)let union = setA.union(setB)print(intersection) // [3, 4]print(union) // [1, 2, 3, 4, 5, 6]Arbeit mit Strings
Strings in Swift sind Collections von Unicode-Zeichen, was die Arbeit mit Internationalisierung extrem einfach macht.
- String-Indizes:
startIndex,endIndex,index(_:offsetBy:)— sichere Navigation durch Zeichen. - Interpolation:
"\\(variable)"— Einbetten von Werten in einen String. - Mehrzeilige Literale:
""" """— bequeme Formatierung.
let greeting = "Hallo, Welt!"let firstChar = greeting[greeting.startIndex] // "H"let index = greeting.index(greeting.startIndex, offsetBy: 7)let substring = greeting[index...] // "Welt!"
// Interpolation und Mehrzeiligkeitlet name = "Swift"let description = """Die Sprache \\(name) wird für die Entwicklungunter iOS und macOS verwendet."""print(description)Optionale Typen und Arbeit mit nil
Swift bietet eine sichere Arbeit mit fehlenden Werten durch optionale Typen. Dies ist eine der Schlüsseleigenschaften der Sprache.
var optionalName: String? = "Alexei"// Optional Auch in der Bibliothek
Kryptographie in Java: Verschlüsselung und Hashing – praktischer Leitfaden
Markdown-Verarbeitung in Rust: Bibliotheken, Parser und Werkzeuge
Markdown-Verarbeitung in Swift für iOS und macOS: Bibliotheken und Beispiele
Arbeiten mit Bildern: resize, crop in TypeScript