0Pricing
Swift Academy · Leçon

@Binding : flux de données bidirectionnel

Transmettre un état mutable dans la hiérarchie des vues avec @Binding et le préfixe $.

@Binding : flux de données bidirectionnel est une leçon Swift Academy gratuite sur CoddyKit. Ceci est la leçon 1 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

`@Binding` crée une connexion bidirectionnelle entre l'état d'un parent et une vue enfant, ce qui permet à l'enfant de lire et d'écrire la valeur du parent sans en être propriétaire.

Créer un Binding

```swift struct Parent: View { @State private var name = "" var body: some View { ChildView(name: $name) // $ creates Binding } } struct ChildView: View { @Binding var name: String var body: some View { TextField("Name", text: $name) } } ```

Le préfixe $

`$name` appliqué à une propriété `@State` renvoie un `Binding` — une référence vers le stockage du parent qui autorise les lectures et les écritures bidirectionnelles.

Écrire via un Binding

```swift struct Toggle: View { @Binding var isOn: Bool var body: some View { Button(isOn ? "On" : "Off") { isOn.toggle() } } } ```

Binding constant pour les aperçus

```swift #Preview { ChildView(isOn: .constant(true)) // non-mutable binding for preview } ```

Binding vers un élément d'une collection

```swift ForEach($items) { $item in // $items is Binding<[Item]> TextField("Name", text: $item.name) } ```

Résumé de @State et @Binding

• `@State` — *possède* la valeur, qui vit dans la vue • `@Binding` — *référence* l'état d'une autre vue, sans le posséder • Les changements effectués via `@Binding` sont propagés au propriétaire

Binding dérivé

```swift let isLarge: Binding = $fontSize.map( get: { $0 > 18 }, set: { $0 ? 24 : 14 } ) ```

Binding<Optional>

```swift if let $item = $selectedItem { DetailView(item: $item) } ``` Swift 5.7+ prend en charge le binding optionnel avec `if let $binding`.

Bindings multiples

```swift struct Form: View { @State private var name = "" @State private var age = 0 var body: some View { FormFields(name: $name, age: $age) } } ```

Vérification rapide

Que renvoie le préfixe `$` appliqué à une propriété `@State` ?

Récapitulatif

Points essentiels : • `@Binding var x: T` — référence en lecture/écriture, sans propriété de la valeur • `$stateProperty` crée le `Binding` • `.constant(value)` pour les bindings d'aperçu non modifiables • Les écritures de l'enfant via `@Binding` mettent à jour le `@State` du parent • `ForEach($collection) { $element in }` pour parcourir une collection en la modifiant Ensuite : @ObservableObject.

Questions Fréquemment Posées

La leçon « @Binding : flux de données bidirectionnel » est-elle gratuite ?

Oui — le texte complet de « @Binding : flux de données bidirectionnel » 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 « @Binding : flux de données bidirectionnel » ?

Transmettre un état mutable dans la hiérarchie des vues avec @Binding et le préfixe $. 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 1 sur 4.

Combien de temps prend la leçon « @Binding : flux de données bidirectionnel » ?

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. @Binding : flux de données bidirectionnel
  2. @ObservableObject et @StateObject
  3. @EnvironmentObject pour un état partagé
  4. Source unique de vérité et flux unidirectionnel
← Retour à Swift Academy