Standaardsubscripts voor dictionaries
Lees dictionary-waarden met ingebouwde standaardwaarden.
Standaardsubscripts voor dictionaries is een gratis Swift Academy-les op CoddyKit. Dit is les 4 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Swift Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Swift Academy bevat in totaal 4 lessen.
Dictionary-opzoekingen zijn optioneel
Het opzoeken van een sleutel met dict[key] levert een optionele waarde op, omdat de sleutel mogelijk niet bestaat. Je moet met die optionele waarde omgaan.
let ages = ["Ann": 30]
let bob = ages["Bob"]
print(bob as Any)Het subscript met een standaardwaarde
Swift biedt een subscript met een standaardwaarde: dict[key, default: value]. Als de sleutel ontbreekt, krijg je de standaardwaarde in plaats van nil.
let ages = ["Ann": 30]
print(ages["Bob", default: 0])
print(ages["Ann", default: 0])Het resultaat is niet-optioneel
In tegenstelling tot een gewone opzoeking levert het subscript met een standaardwaarde een niet-optionele waarde op, zodat je deze meteen kunt gebruiken zonder haar uit te pakken.
let stock = ["pen": 5]
let pens: Int = stock["pen", default: 0]
print(pens + 1)Tellen met standaardwaarden
Het subscript met een standaardwaarde is ideaal om voorkomens te tellen. Begin voor elke sleutel met 0 en tel vervolgens verder.
var counts: [String: Int] = [:]
let words = ["a", "b", "a", "a", "b"]
for word in words {
counts[word, default: 0] += 1
}
print(counts["a", default: 0])
print(counts["b", default: 0])Waarom += werkt
Omdat dict[key, default: 0] zelfs voor een nieuwe sleutel een echte waarde oplevert, kun je deze veilig ter plekke wijzigen met +=.
var tally: [String: Int] = [:]
tally["x", default: 0] += 5
tally["x", default: 0] += 3
print(tally["x", default: 0])Totalen per groep
Je kunt totalen per categorie in één doorloop verzamelen met het subscript met een standaardwaarde.
let sales = [("apple", 3), ("pear", 2), ("apple", 4)]
var totals: [String: Int] = [:]
for (item, amount) in sales {
totals[item, default: 0] += amount
}
print(totals["apple", default: 0])Standaardwaarde tegenover nil-coalescing
dict[key, default: 0] is voor het lezen gelijkwaardig aan dict[key] ?? 0, maar met de subscriptvorm kun je de waarde ook ter plekke wijzigen.
let prices = ["tea": 3]
print(prices["tea"] ?? 0)
print(prices["tea", default: 0])Arraywaarden toevoegen
Het subscript met een standaardwaarde werkt ook met arraywaarden, zodat je gegroepeerde lijsten kunt opbouwen.
var groups: [String: [Int]] = [:]
groups["even", default: []].append(2)
groups["even", default: []].append(4)
print(groups["even", default: []])Standaardwaarden voegen niets toe
Lezen met een standaardwaarde voegt de sleutel niet aan de dictionary toe. De sleutel wordt pas opgeslagen wanneer je de waarde wijzigt, bijvoorbeeld met +=.
var data: [String: Int] = [:]
_ = data["ghost", default: 0]
print(data.count)
data["real", default: 0] += 1
print(data.count)Een zinvolle standaardwaarde kiezen
Kies een standaardwaarde die bij het waardetype en de bewerking past: 0 voor totalen, [] voor lijsten en een lege tekenreeks voor tekst.
var notes: [String: String] = [:]
notes["greeting", default: ""] += "Hello"
notes["greeting", default: ""] += " World"
print(notes["greeting", default: ""])Tellingen en opzoekingen combineren
Bouw een frequentietabel en lees deze daarna met dezelfde standaardwaarde uit, zodat de waarde overal niet-optioneel blijft.
var freq: [Character: Int] = [:]
for ch in "banana" {
freq[ch, default: 0] += 1
}
print(freq["a", default: 0])
print(freq["z", default: 0])Korte controle
Test het subscript met een standaardwaarde.
Samenvatting: standaardsubscripts voor dictionaries
Gebruik dict[key, default: value] om een niet-optionele terugvalwaarde te lezen en waarden ter plekke te wijzigen. Dit is ideaal voor tellen, totalen berekenen en groeperen zonder handmatige nil-controles.
var c: [String: Int] = [:]
for x in ["a", "a", "b"] { c[x, default: 0] += 1 }
print(c["a", default: 0])Leer Swift met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 122
- Lessen
- 409
Veelgestelde vragen
Is de les “Standaardsubscripts voor dictionaries” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Swift Academy, waaronder “Standaardsubscripts voor dictionaries”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Swift Academy bevat in totaal 4 lessen.
Wat leer ik in “Standaardsubscripts voor dictionaries”?
Lees dictionary-waarden met ingebouwde standaardwaarden. Je oefent met Swift Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Swift Academy te beginnen?
Ervaring vooraf is niet nodig. Swift Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.
Hoe lang duurt de les “Standaardsubscripts voor dictionaries”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Swift Academy?
Ja. Elke les over Swift Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- De nil-coalescingoperator
- Standaardwaarden koppelen
- Standaardwaarden in functieparameters
- Standaardsubscripts voor dictionaries