Bibliothèque standard Swift (iOS/macOS) : aperçu complet
La bibliothèque standard Swift est un ensemble fondamental de types, protocoles et fonctions sur lequel repose tout le développement pour iOS, macOS, watchOS et tvOS. Contrairement à de nombreux langages où la bibliothèque standard est minimaliste, Swift offre une riche boîte à outils directement "prête à l'emploi". Dans cet article, nous allons détailler les composants clés de la bibliothèque utilisés dans le développement quotidien.
Types de données et protocoles de base
Le fondement de la bibliothèque est constitué de types primitifs et de protocoles assurant l'uniformité du travail avec les données.
- Protocoles d'égalité et de comparaison :
Equatable,Comparable,Hashable— permettent de comparer et de hacher les objets. - Protocoles de représentation :
CustomStringConvertible,CustomDebugStringConvertible— pour la description textuelle des objets. - Types de base :
Int,Double,Bool,String,Character— redéfinis pour des performances maximales.
// Exemple d'utilisation des protocolesstruct Person: Equatable, CustomStringConvertible { let name: String let age: Int var description: String { return "\\(name), \\(age) ans" }}
let alice = Person(name: "Alice", age: 30)let bob = Person(name: "Bob", age: 25)print(alice == bob) // falseprint(alice) // "Alice, 30 ans"Collections : tableaux, dictionnaires et ensembles
Swift fournit trois types principaux de collections, optimisés pour différents scénarios d'utilisation.
Tableaux (Array)
Collections ordonnées avec accès aléatoire. Supportent l'expansion et la réduction dynamiques.
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]Dictionnaires (Dictionary)
Collections non ordonnées "clé-valeur". Les clés doivent être Hashable.
var capitals: [String: String] = [ "Russie": "Moscou", "France": "Paris", "Japon": "Tokyo"]capitals["Allemagne"] = "Berlin"if let russiaCapital = capitals["Russie"] { print("La capitale de la Russie est \\(russiaCapital)")}Ensembles (Set)
Collections non ordonnées d'éléments uniques. Idéales pour vérifier l'appartenance et les opérations mathématiques.
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]Travail avec les chaînes de caractères
Les chaînes de caractères en Swift sont des collections de caractères Unicode, ce qui rend le travail avec l'internationalisation extrêmement simple.
- Index de chaîne :
startIndex,endIndex,index(_:offsetBy:)— navigation sécurisée parmi les caractères. - Interpolation :
"\\(variable)"— insertion de valeurs dans une chaîne. - Littéraux multilignes :
""" """— formatage pratique.
let greeting = "Bonjour le monde !"let firstChar = greeting[greeting.startIndex] // "B"let index = greeting.index(greeting.startIndex, offsetBy: 8)let substring = greeting[index...] // "le monde !"
// Interpolation et multilignelet name = "Swift"let description = """Le langage \\(name) est utilisé pour le développementsous iOS et macOS."""print(description)Types optionnels et travail avec nil
Swift propose un travail sécurisé avec les valeurs absentes via les types optionnels. C'est l'une des caractéristiques clés du langage.
var optionalName: String? = "Alexei"// Optionnel Aussi dans la bibliothèque
Swagger/OpenAPI pour C# (.NET) : Génération et documentation d'API
Jetons JWT en Swift : Travailler avec JSON Web Token sur iOS/macOS
Travailler avec YAML en Swift (iOS/macOS) — bibliothèques Yams et YamlSwift
Travailler avec CSV en JavaScript (Node.js) : bibliothèques et outils
Planificateur de tâches Java : Quartz Scheduler — guide complet