Subscripts für benutzerdefinierte Indizierung
Definieren Sie benutzerdefinierte Subscripts, um Elemente mit arrayähnlicher Syntax zu lesen und zu schreiben, ergänzen Sie sicheren Zugriff, unterstützen Sie Indizes mit mehreren Parametern und sogar Subscripts auf Typebene (static).
Subscripts für benutzerdefinierte Indizierung 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.
Überblick
Verwenden Sie Subscripts, um mit der Klammersyntax auf Daten zuzugreifen. Sie können sie schreibgeschützt oder les- und schreibbar gestalten und sogar mehrere Indizes akzeptieren.
Les- und schreibbares Subscript
Erstellen Sie ein get/set-Subscript, um internen Speicher mit einer arrayähnlichen Syntax bereitzustellen.
struct Box {
private var items: [String] = []
init(_ values: [String]) { self.items = values }
subscript(index: Int) -> String {
get { items[index] } // may trap if out of bounds (like Array)
set { items[index] = newValue }
}
}
var b = Box(["a","b","c"])
print(b[1]) // "b"
b[1] = "B"
print(b[1]) // "B"Sicheres Subscript
Geben Sie ein Optional zurück, um Fehler bei ungültigen Indizes zu vermeiden: ein benutzerfreundliches sicheres Subscript.
extension Array {
subscript(safe i: Int) -> Element? {
return indices.contains(i) ? self[i] : nil
}
}
let arr = [10,20]
print(arr[safe: 1] ?? -1) // 20
print(arr[safe: 5] ?? -1) // -1Mehrere Parameter
Subscripts können mehrere Parameter annehmen – ideal für Matrizen oder den Zugriff über Koordinaten.
struct Matrix {
let rows: Int, cols: Int
private var grid: [Int]
init(rows: Int, cols: Int, fill: Int = 0) {
self.rows = rows; self.cols = cols
self.grid = Array(repeating: fill, count: rows*cols)
}
private func index(_ r: Int, _ c: Int) -> Int { r*cols + c }
subscript(r: Int, c: Int) -> Int {
get { grid[index(r,c)] }
set { grid[index(r,c)] = newValue }
}
}
var m = Matrix(rows: 2, cols: 3)
m[0, 2] = 7
print(m[0, 2])Typ-Subscript
Fügen Sie ein Typ-Subscript mit static hinzu, um auf dem Typ selbst und nicht auf einer Instanz zu indizieren.
struct Roman {
static let map: [Int:String] = [1:"I", 5:"V", 10:"X"]
static subscript(_ n: Int) -> String? {
return map[n]
}
}
print(Roman[5] ?? "?") // "V"Tipps
Tipps:
- Geben Sie für einen sicheren Zugriff bevorzugt Optionals zurück.
- Halten Sie Subscripts einfach; aufwendige Logik gehört in Methoden.
- Benennen Sie Parameter eindeutig, zum Beispiel
[row:col:].
Bedeutung von Subscripts
Kurzer Test: Was ermöglichen Subscripts?
Zusammenfassung
Zusammenfassung: Erstellen Sie les- und schreibbare Subscripts, ergänzen Sie sichere Zugriffe mit Optionals, unterstützen Sie die Indizierung mit mehreren Parametern und definieren Sie sogar Typ-Subscripts.
Lerne Swift mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 122
- Lektionen
- 409
Häufig gestellte Fragen
Ist die Lektion „Subscripts für benutzerdefinierte Indizierung“ kostenlos?
Ja — der vollständige Text von „Subscripts für benutzerdefinierte Indizierung“ 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 „Subscripts für benutzerdefinierte Indizierung“?
Definieren Sie benutzerdefinierte Subscripts, um Elemente mit arrayähnlicher Syntax zu lesen und zu schreiben, ergänzen Sie sicheren Zugriff, unterstützen Sie Indizes mit mehreren Parametern und soga… 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 „Subscripts für benutzerdefinierte Indizierung“?
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
- Properties und Subscripts
- lazy und Property-Observer
- Berechnete Properties mit get/set
- Subscripts für benutzerdefinierte Indizierung