SwiftUI Academy · Lektion

Løkker med ForEach

Gengiv rækker fra et array med data.

Lektion 2 af 413 trin

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. 🎉

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 “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

  1. Oprettelse af en statisk liste
  2. Løkker med ForEach
  3. Identifiable og stabile ID'er
  4. Sektioner og listestile
← Tilbage til SwiftUI Academy