Løkker med ForEach
Gengiv rækker fra et array med data.
Løkker med ForEach er en gratis SwiftUI Academy-lektion på CoddyKit. Dette er lektion 2 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.
Hvorfor ForEach
Hardcodede rækker fungerer til to elementer, men virkelige data ligger i arrays. ForEach opbygger automatisk én række pr. element. 🔁
let fruits = ["Apple", "Pear", "Kiwi"]ForEach i List
Indsæt en ForEach i en List, så genererer den én række for hvert element i din samling, uanset hvor mange der er.
List {
ForEach(fruits, id: \.self) { fruit in
Text(fruit)
}
}Closure-funktionen giver dig hvert element
Closure-funktionen kører én gang for hvert element og giver dig det pågældende element, så du kan opbygge rækken ud fra rigtige data.
ForEach(fruits, id: \.self) { fruit in
Text(fruit)
}Identiteten er vigtig
SwiftUI skal kunne skelne rækkerne fra hinanden, så ForEach kræver altid en måde at identificere hvert element entydigt på.
Parameteren id
For simple værdiarrays skal du angive id med en key path som .self, så hver værdi kan identificere sig selv entydigt over for SwiftUI.
ForEach(scores, id: \.self) { score in
Text("\(score)")
}Gennemløb af et interval
Har du brug for et fast antal i stedet for et array? Angiv et interval, så giver ForEach dig hvert indeks efter tur, hvilket er perfekt til pladsholderrækker.
ForEach(0..<5) { index in
Text("Row \(index)")
}Opbygning af avancerede rækker
Inde i closure-funktionen kan du returnere enhver visning, så hver ForEach-række kan være en komplet HStack med ikoner og etiketter.
ForEach(fruits, id: \.self) { fruit in
HStack {
Image(systemName: "leaf")
Text(fruit)
}
}Blanding af statiske og dynamiske rækker
En List kan indeholde en statisk header-Text og en ForEach-løkke sammen, så faste og datadrevne rækker blandes.
List {
Text("Fruits")
ForEach(fruits, id: \.self) { Text($0) }
}Gennemløb af strukturer
Når du gennemløber et array af strukturer, indeholder hvert element flere felter, som du kan vise på tværs af rækken.
ForEach(people, id: \.name) { person in
Text(person.name)
}Data styrer brugergrænsefladen
Rediger arrayet, så følger rækkerne automatisk med. Med ForEach er din liste ganske enkelt et levende spejlbillede af de data, du giver den.
Ud over lister
ForEach er ikke kun til lister. Den udfylder også VStack, HStack og gitre med gentagne visninger fra enhver samling.
VStack {
ForEach(fruits, id: \.self) { Text($0) }
}Hurtigt tjek
Husk, hvad ForEach-closure-funktionen modtager.
Opsummering
Du har lært ForEach: Den omdanner enhver samling til rækker og giver dig hvert element, så din brugergrænseflade automatisk følger dine data. 🎉
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 “Løkker med ForEach” gratis?
Ja — hele teksten til “Løkker med ForEach” 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 “Løkker med ForEach”?
Gengiv rækker fra et array med data. 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 2 af 4.
Hvor lang tid tager lektionen “Løkker med ForEach”?
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
- Oprettelse af en statisk liste
- Løkker med ForEach
- Identifiable og stabile ID'er
- Sektioner og listestile