Swift Academy · Leçon

Valeurs associées pour des données riches

Associer des données aux cas et les extraire avec la correspondance de motifs.

Leçon 2 sur 412 étapes

Valeurs associées pour des données riches est une leçon Swift Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Swift Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Swift Academy comprend 4 leçons au total.

Bienvenue

Les valeurs associées permettent à chaque cas d’énumération de contenir des données supplémentaires. Elles transforment les énumérations en unions discriminées puissantes — le fondement d’une modélisation d’état sûre du point de vue des types dans Swift.

Définir des valeurs associées

```swift enum Barcode { case upc(Int, Int, Int, Int) case qrCode(String) } let product = Barcode.upc(8,85909,51226,3) let web = Barcode.qrCode("https://example.com") ```

Extraire des valeurs avec switch

```swift switch barcode { case .upc(let n, let m, let p, let c): print("UPC: \(n)-\(m)-\(p)-\(c)") case .qrCode(let code): print("QR: \(code)") } ``` Vous pouvez aussi utiliser `case let` pour associer toutes les valeurs en une seule fois : ```swift case let .upc(n,m,p,c): ... ```

Valeurs associées nommées

```swift enum NetworkResult { case success(statusCode: Int, data: Data) case failure(error: Error) } if case .success(let code, let data) = result { ... } ``` Les étiquettes clarifient le contexte de liaison.

Valeurs associées ou valeurs brutes

• Valeurs brutes : constantes à la compilation, même type pour tous les cas, propriété `rawValue` • Valeurs associées : données à l'exécution, chaque cas possède son propre type, extraites par correspondance de motifs Vous ne pouvez pas avoir les deux dans la même énumération.

Les optionnels comme énumérations

Le `Optional` de Swift est littéralement : ```swift enum Optional { case some(Wrapped) case none } ``` Chaque `if let`, `switch` et `??` fonctionne avec ce même mécanisme.

Result<Success, Failure>

```swift func fetch() -> Result { ... } switch fetch() { case .success(let data): process(data) case .failure(let err): print(err) } ``` `Result` est une énumération de la bibliothèque standard qui comporte deux cas avec valeurs associées.

Correspondance de motifs dans if case

```swift let item = Barcode.qrCode("hello") if case .qrCode(let code) = item { print("QR code: \(code)") } ``` `if case` est concis lorsque vous ne vous intéressez qu'à un seul cas.

Clause de garde par motif

```swift func process(_ result: NetworkResult) { guard case .success(_, let data) = result else { return } handle(data) } ``` `guard case` quitte rapidement la fonction si le motif ne correspond pas.

Les énumérations dans les collections

```swift let events: [AppEvent] = [.login("alice"), .pageView("/home"), .logout] let logins = events.compactMap { if case .login(let u) = $0 { return u } else { return nil } } ```

Vérification rapide

Quel mot-clé permet d'extraire les valeurs associées à l'intérieur d'un cas de `switch` ?

Récapitulatif

Points essentiels : • Les valeurs associées attachent des données à des cas individuels • Extrayez-les avec `switch`, `if case` ou `guard case` • Utilisez des étiquettes nommées pour plus de clarté : `.success(code: Int, data: Data)` • `Optional` et `Result` sont des énumérations de la bibliothèque standard avec des valeurs associées • Il est impossible de mélanger valeurs associées et valeurs brutes dans une même énumération Ensuite : les énumérations indirectes et les structures récursives.
Gratuit pour commencer

Apprends Swift avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
122
Leçons
409

Questions Fréquemment Posées

La leçon « Valeurs associées pour des données riches » est-elle gratuite ?

Oui — le texte complet de « Valeurs associées pour des données riches » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Swift Academy, passe à CoddyKit PRO. Le cours Swift Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Valeurs associées pour des données riches » ?

Associer des données aux cas et les extraire avec la correspondance de motifs. Tu pratiques Swift Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Swift Academy ?

Aucune expérience préalable n'est requise. Swift Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Valeurs associées pour des données riches » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Swift Academy ?

Oui. Chaque leçon Swift Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Valeurs brutes et CaseIterable
  2. Valeurs associées pour des données riches
  3. Énumérations indirectes et structures récursives
  4. Modéliser des machines à états avec des énumérations
← Retour à Swift Academy