Iterationsmønstre og mutabilitet
Lær almindelige iterationsmønstre over arrays/dictionaries/sets, brug indekser og enumerated(), og forstå mutabilitet med let vs. var (grundlæggende copy-on-write).
Iterationsmønstre og mutabilitet er en gratis Swift Academy-lektion på CoddyKit. Dette er lektion 3 af 3. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Swift Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Swift Academy-kurset indeholder 3 lektioner i alt.
Hvorfor gennemløb og foranderlighed?
Mål: Gennemløb samlinger sikkert og tydeligt, og forstå hvornår de kan ændres. Vi gennemgår arrays, dictionaries, sets, indekser og enumerated() samt let kontra var.
for-in (Array)
for-in gennemløber elementerne direkte og er enkelt og tydeligt til arrays.
let nums = [10, 20, 30]
for n in nums {
print("value:", n)
}enumerated()
Brug enumerated() til at hente par af typen (index, value) under gennemløbet.
let letters = ["a","b","c"]
for (i, ch) in letters.enumerated() {
print(i, ch) // 0 a, 1 b, 2 c
}Dictionary og Set
Dictionaries giver par af typen (key, value). Sets er uordnede – brug sorted() til et stabilt resultat.
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)
}Indekser og udsnit
Brug startIndex, endIndex og index(after:) til indeksbaseret adgang. Udsnit er visninger af typen 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)Foranderlighed og COW
Foranderlighed: Erklær med var, hvis du vil ændre noget. Samlinger bruger kopiering ved skrivning – kopier er billige, indtil de ændres.
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)Regel for foranderlighed
Hurtigt tjek: Hvilken erklæring gør det muligt for dig at ændre en samling?
Opsummering
Opsummering: Foretræk elementbaseret for-in, brug enumerated() til indeks og værdi, sortér Sets for at få en bestemt rækkefølge, navigér med String/Array-indekser, og ændr kun værdier med var (med hensyn til COW).
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
- 122
- Lektioner
- 409
Ofte stillede spørgsmål
Er lektionen “Iterationsmønstre og mutabilitet” gratis?
Ja — alle 3 lektioner i læringssporet Swift Academy, inklusive “Iterationsmønstre og mutabilitet”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Swift Academy-kurset indeholder 3 lektioner i alt.
Hvad lærer jeg i “Iterationsmønstre og mutabilitet”?
Lær almindelige iterationsmønstre over arrays/dictionaries/sets, brug indekser og enumerated(), og forstå mutabilitet med let vs. var (grundlæggende copy-on-write). Du øver dig i Swift 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å Swift Academy?
Der kræves ingen tidligere erfaring. Swift 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 3 af 3.
Hvor lang tid tager lektionen “Iterationsmønstre og mutabilitet”?
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 Swift Academy-lektion?
Ja. Alle Swift 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
- Arrays, dictionaries og sets
- Sets — medlemskab og operationer
- Iterationsmønstre og mutabilitet