SwiftUI Academy · Lektion

Hvorfor underordnede views har brug for @Binding

Forstå tovejsdataflow mellem views.

Lektion 1 af 413 trin

Hvorfor underordnede views har brug for @Binding er en gratis SwiftUI Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i SwiftUI Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. SwiftUI Academy-kurset indeholder 4 lektioner i alt.

To visninger, én sandhed

Når en forælder ejer en værdi, og et underordnet element skal kunne ændre den, skal de dele én sandhedskilde. Ellers kommer de ud af sync. 🔗

Problemet med kopier

Hvis du bare sender en værdi til et underordnet element, får det en kopi. Ændringer i kopien påvirker aldrig forælderens oprindelige data.

Introduktion til @Binding

En @Binding er en tovejsforbindelse. Det underordnede element læser og skriver direkte i forælderens værdi uden en kopi imellem.

Reference, ikke en kopi

Tænk på en binding som en fjernbetjening. Det underordnede element ejer ikke dataene; det har blot en reference til det sted, hvor de ligger.

Hvem ejer hvad

Forælderen ejer tilstanden med @State. Det underordnede element låner den gennem @Binding. Ejerskabet forbliver ét tydeligt sted.

Tovejsgennemstrømning af data

Med en binding flyder ændringer begge veje. Forælderen opdaterer det underordnede element, og det underordnede element kan opdatere forælderen. Alt forbliver synkroniseret.

En binding i et underordnet element

En underordnet visning erklærer en binding til den værdi, den skal kunne ændre, markeret med egenskabsindpakningen @Binding.

struct ChildView: View {
    @Binding var isOn: Bool
    var body: some View {
        Toggle("Lights", isOn: $isOn)
    }
}

SwiftUI er bygget på bindinger

Du har allerede brugt bindinger. Toggle, TextField og Slider tager alle imod en binding, så de kan skrive den værdi, du ændrer, tilbage.

Hvorfor det er vigtigt

Bindinger lader dig opdele en stor skærm i små, fokuserede underordnede visninger uden at miste den delte tilstand. Det holder din kode genanvendelig. ✨

Ingen duplikeret tilstand

Kopiér aldrig den samme værdi ind i både forælder og underordnet element som separate @State-egenskaber. Det skaber to sandheder, der stille og roligt bliver uenige.

Én kilde, mange visninger

Én værdi, som mange visninger kan redigere sikkert: Det er løftet fra @Binding. De næste lektioner viser, hvordan du forbinder det.

Hurtigt tjek

Hurtigt tjek af delt tilstand.

Opsummering: Deling af én sandhed

En forælder ejer tilstanden, og et underordnet element låner den med @Binding til sikre tovejsændringer. Én sandhedskilde holder alle visninger synkroniserede. 🎉

Gratis at komme i gang

Lær Swift med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “Hvorfor underordnede views har brug for @Binding” gratis?

Ja — hele teksten til “Hvorfor underordnede views har brug for @Binding” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af SwiftUI Academy-kurset, skal du opgradere til CoddyKit PRO. SwiftUI Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Hvorfor underordnede views har brug for @Binding”?

Forstå tovejsdataflow mellem views. Du øver dig i SwiftUI Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på SwiftUI Academy?

Der kræves ingen tidligere erfaring. SwiftUI Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Hvorfor underordnede views har brug for @Binding”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne SwiftUI Academy-lektion?

Ja. Alle SwiftUI Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Hvorfor underordnede views har brug for @Binding
  2. Videregivelse af en binding
  3. Opbygning af en genanvendelig toggle-række
  4. @State kontra @Binding
← Tilbage til SwiftUI Academy