Iterowanie za pomocą ForEach
Proszę renderować wiersze na podstawie tablicy danych.
Iterowanie za pomocą ForEach to bezpłatna lekcja SwiftUI Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej SwiftUI Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs SwiftUI Academy zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
Why ForEach
Hardcoding rows works for two items, but real data lives in arrays. ForEach builds one row per element automatically. 🔁
let fruits = ["Apple", "Pear", "Kiwi"]ForEach Inside List
Drop a ForEach inside a List and it generates one row for every item in your collection, no matter how many there are.
List {
ForEach(fruits, id: \.self) { fruit in
Text(fruit)
}
}The Closure Gives You Each Item
The closure runs once per element, handing you that item so you can build its row from real data.
ForEach(fruits, id: \.self) { fruit in
Text(fruit)
}Identity Matters
SwiftUI needs to tell rows apart, so ForEach always wants a way to identify each element uniquely.
The id Parameter
For simple value arrays, pass id set to a key path like .self so each value can identify itself uniquely to SwiftUI.
ForEach(scores, id: \.self) { score in
Text("\(score)")
}Looping a Range
Need a fixed count instead of an array? Pass a range and ForEach hands you each index in turn, perfect for placeholder rows.
ForEach(0..<5) { index in
Text("Row \(index)")
}Building Rich Rows
Inside the closure you can return any view, so each ForEach row can be a full HStack with icons and labels.
ForEach(fruits, id: \.self) { fruit in
HStack {
Image(systemName: "leaf")
Text(fruit)
}
}Mixing Static and Dynamic
A List can hold a static header Text and a ForEach loop together, blending fixed and data-driven rows.
List {
Text("Fruits")
ForEach(fruits, id: \.self) { Text($0) }
}Looping Structs
When you loop an array of structs, each item carries multiple fields you can show across the row.
ForEach(people, id: \.name) { person in
Text(person.name)
}Data Drives the UI
Change the array and the rows follow right along. With ForEach, your list is simply a live mirror of whatever data you give it.
Beyond Lists
ForEach is not just for lists. It also fills VStack, HStack, and grids with repeated views from any collection.
VStack {
ForEach(fruits, id: \.self) { Text($0) }
}Quick Check
Recall what the ForEach closure receives.
Recap
You learned ForEach: it turns any collection into rows, handing you each item so your UI tracks your data automatically. 🎉
Często zadawane pytania
Czy lekcja „Iterowanie za pomocą ForEach” jest bezpłatna?
Tak — pełny tekst „Iterowanie za pomocą ForEach” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu SwiftUI Academy, przejdź na CoddyKit PRO. Kurs SwiftUI Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Iterowanie za pomocą ForEach”?
Proszę renderować wiersze na podstawie tablicy danych. Ćwiczysz SwiftUI Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć SwiftUI Academy?
Nie wymagamy żadnego doświadczenia. SwiftUI Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Iterowanie za pomocą ForEach”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji SwiftUI Academy?
Tak. Każda lekcja SwiftUI Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Budowanie statycznej listy
- Iterowanie za pomocą ForEach
- Identifiable i stabilne identyfikatory
- Sekcje i style list