Hvorfor underordnede views har brug for @Binding
Forstå tovejsdataflow mellem views.
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. 🎉
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
- Hvorfor underordnede views har brug for @Binding
- Videregivelse af en binding
- Opbygning af en genanvendelig toggle-række
- @State kontra @Binding