Wzorce iteracji i zmienność
Poznajcie popularne wzorce iteracji po tablicach, słownikach i zbiorach, używajcie indeksów oraz enumerated() i zrozumcie zmienność z let i var (podstawy copy-on-write).
Wzorce iteracji i zmienność to bezpłatna lekcja Swift Academy na CoddyKit. To lekcja 3 z 3. 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 Swift Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Swift Academy zawiera 3 lekcji w sumie.
Po co iteracja i modyfikowalność?
Cel: Bezpiecznie i przejrzyście iterować po kolekcjach oraz rozumieć, kiedy można je modyfikować. Omówimy tablice, słowniki, zbiory, indeksy i enumerated(), a także różnicę między let i var.
for-in (Array)
for-in iteruje bezpośrednio po elementach; w przypadku tablic jest prosty i przejrzysty.
let nums = [10, 20, 30]
for n in nums {
print("value:", n)
}enumerated()
Używaj enumerated(), aby podczas iteracji otrzymywać pary (index, value).
let letters = ["a","b","c"]
for (i, ch) in letters.enumerated() {
print(i, ch) // 0 a, 1 b, 2 c
}Dictionary i Set
Słowniki zwracają pary (key, value). Zbiory są nieuporządkowane — użyj sorted(), aby uzyskać stałą kolejność wyników.
let ages = ["Ada": 20, "Bob": 25]
for (name, age) in ages {
print(name, age)
}
let colors: Set<String> = ["red", "green", "blue"]
for c in colors.sorted() { // sort for stable order
print(c)
}Indeksy i wycinki
Do dostępu opartego na indeksach używaj startIndex, endIndex i index(after:). Wycinki są widokami typu ArraySlice.
let arr = [5,6,7,8]
var i = arr.startIndex
while i < arr.endIndex {
print("arr[", i, "] =", arr[i])
i = arr.index(after: i)
}
let slice = arr[1...2] // ArraySlice
print("slice", slice)Modyfikowalność i COW
Modyfikowalność: zadeklaruj kolekcję za pomocą var, aby móc ją modyfikować. Kolekcje używają mechanizmu copy-on-write — kopie są tanie, dopóki nie zostaną zmodyfikowane.
let fixed = [1,2,3]
// fixed.append(4) // error: cannot use mutating member on immutable value
var bag = [1,2,3]
bag.append(4) // ok
var bagCopy = bag // COW: cheap copy until either changes
bagCopy[0] = 9
print("bag", bag, "copy", bagCopy)Zasada modyfikowalności
Szybki test: Która deklaracja pozwala modyfikować kolekcję?
Podsumowanie
Podsumowanie: Preferuj iterację po elementach za pomocą for-in, używaj enumerated() do uzyskania indeksu i wartości, sortuj zbiory, gdy potrzebujesz kolejności, poruszaj się za pomocą String/Array indices i modyfikuj kolekcje tylko przy użyciu var, pamiętając o COW.
Często zadawane pytania
Czy lekcja „Wzorce iteracji i zmienność” jest bezpłatna?
Tak — pełny tekst „Wzorce iteracji i zmienność” 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 Swift Academy, przejdź na CoddyKit PRO. Kurs Swift Academy zawiera 3 lekcji w sumie.
Co nauczysz się w „Wzorce iteracji i zmienność”?
Poznajcie popularne wzorce iteracji po tablicach, słownikach i zbiorach, używajcie indeksów oraz enumerated() i zrozumcie zmienność z let i var (podstawy copy-on-write). Ćwiczysz Swift 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ąć Swift Academy?
Nie wymagamy żadnego doświadczenia. Swift 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 3 z 3.
Ile czasu zajmuje lekcja „Wzorce iteracji i zmienność”?
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 Swift Academy?
Tak. Każda lekcja Swift 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
- Tablice, słowniki i zbiory
- Zbiory — przynależność i operacje
- Wzorce iteracji i zmienność