0Pricing
Swift Academy · Lektion

Standard-Subscripts für Dictionaries

Lesen Sie Dictionary-Werte mit integrierten Standardwerten.

Standard-Subscripts für Dictionaries ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Swift Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.

Dictionary-Lookups sind optional

Das Nachschlagen eines Schlüssels mit dict[key] liefert ein Optional, weil der Schlüssel möglicherweise nicht existiert. Dieses Optional muss behandelt werden.

let ages = ["Ann": 30]
let bob = ages["Bob"]
print(bob as Any)

Das Subscript mit Standardwert

Swift bietet ein Subscript mit einem Standardwert: dict[key, default: value]. Fehlt der Schlüssel, erhalten Sie stattdessen den Standardwert und nicht nil.

let ages = ["Ann": 30]
print(ages["Bob", default: 0])
print(ages["Ann", default: 0])

Das Ergebnis ist nicht optional

Anders als ein gewöhnlicher Lookup liefert das Subscript mit Standardwert einen nicht optionalen Wert, sodass Sie ihn sofort ohne Entpacken verwenden können.

let stock = ["pen": 5]
let pens: Int = stock["pen", default: 0]
print(pens + 1)

Mit Standardwerten zählen

Das Subscript mit Standardwert eignet sich besonders zum Zählen von Vorkommen. Beginnen Sie jeden Schlüssel mit 0 und erhöhen Sie den Wert anschließend nach und nach.

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])

Warum += funktioniert

Da dict[key, default: 0] auch für einen neuen Schlüssel einen tatsächlichen Wert liefert, können Sie ihn sicher direkt mit += verändern.

var tally: [String: Int] = [:]
tally["x", default: 0] += 5
tally["x", default: 0] += 3
print(tally["x", default: 0])

Summen gruppieren

Sie können Summen pro Kategorie in einem einzigen Durchlauf mithilfe des Subscripts mit Standardwerten sammeln.

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])

Standardwert gegenüber Nil-Coalescing

dict[key, default: 0] entspricht beim Lesen dict[key] ?? 0, aber die Subscript-Form unterstützt zusätzlich die direkte Veränderung.

let prices = ["tea": 3]
print(prices["tea"] ?? 0)
print(prices["tea", default: 0])

Array-Werte anhängen

Das Subscript mit Standardwert funktioniert auch mit Array-Werten, sodass Sie gruppierte Listen aufbauen können.

var groups: [String: [Int]] = [:]
groups["even", default: []].append(2)
groups["even", default: []].append(4)
print(groups["even", default: []])

Standardwerte fügen nichts ein

Das Lesen mit einem Standardwert fügt den Schlüssel nicht in das Dictionary ein. Erst wenn Sie den Wert verändern, etwa mit +=, wird der Schlüssel gespeichert.

var data: [String: Int] = [:]
_ = data["ghost", default: 0]
print(data.count)
data["real", default: 0] += 1
print(data.count)

Einen sinnvollen Standardwert wählen

Wählen Sie einen Standardwert, der zum Werttyp und zur Operation passt: 0 für Summen, [] für Listen und eine leere Zeichenkette für Text.

var notes: [String: String] = [:]
notes["greeting", default: ""] += "Hello"
notes["greeting", default: ""] += " World"
print(notes["greeting", default: ""])

Zählen und Lesen kombinieren

Erstellen Sie eine Häufigkeitszuordnung und lesen Sie sie anschließend mit demselben Standardwert aus, damit Sie durchgehend mit nicht optionalen Werten arbeiten.

var freq: [Character: Int] = [:]
for ch in "banana" {
    freq[ch, default: 0] += 1
}
print(freq["a", default: 0])
print(freq["z", default: 0])

Kurze Überprüfung

Testen Sie das Subscript mit Standardwert.

Rückblick: Dictionary-Subscripts mit Standardwert

Verwenden Sie dict[key, default: value], um eine nicht optionale Alternative zu lesen und Werte direkt zu verändern. Dies eignet sich ideal zum Zählen, Summieren und Gruppieren ohne manuelle nil-Prüfungen.

var c: [String: Int] = [:]
for x in ["a", "a", "b"] { c[x, default: 0] += 1 }
print(c["a", default: 0])

Häufig gestellte Fragen

Ist die Lektion „Standard-Subscripts für Dictionaries“ kostenlos?

Ja — der vollständige Text von „Standard-Subscripts für Dictionaries“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Swift Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Standard-Subscripts für Dictionaries“?

Lesen Sie Dictionary-Werte mit integrierten Standardwerten. Du übst Swift Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Swift Academy zu starten?

Keine Vorkenntnisse erforderlich. Swift Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Standard-Subscripts für Dictionaries“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Swift Academy-Lektion Code schreiben und ausführen?

Ja. Jede Swift Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Der Nil-Koaleszenzoperator
  2. Standardwerte verketten
  3. Standardwerte in Funktionsparametern
  4. Standard-Subscripts für Dictionaries
← Zurück zu Swift Academy