Gespeicherte und berechnete Properties, Observer
Definieren Sie gespeicherte und berechnete Properties, erstellen Sie schreibgeschützte sowie les- und schreibbare berechnete Properties und reagieren Sie mit willSet/didSet-Observern auf Änderungen.
Gespeicherte und berechnete Properties, Observer ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 3. 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 3 Lektionen.
Überblick
Diese Lektion stellt gespeicherte und berechnete Eigenschaften gegenüber und zeigt willSet/didSet-Beobachter, um auf Änderungen zu reagieren.
Gespeicherte vs. berechnete Eigenschaften
Gespeicherte Eigenschaften bewahren Daten. Berechnete Eigenschaften berechnen beim Zugriff einen Wert.
struct Rectangle {
// stored properties (hold data)
var width: Double
var height: Double
// computed property (derived on access)
var area: Double {
return width * height // read-only computed
}
}
let r = Rectangle(width: 3, height: 4)
print("area =", r.area) // 12Berechnete Eigenschaften mit get/set
Fügen Sie get/set hinzu, um eine les- und schreibbare berechnete Eigenschaft zu erstellen, die Invarianten synchron hält.
struct Circle {
var radius: Double // stored
var diameter: Double { // computed read-write
get { radius * 2 }
set { radius = newValue / 2 }
}
}
var c = Circle(radius: 5)
print(c.diameter) // 10
c.diameter = 14
print(c.radius) // 7Beobachter in Aktion
Beobachter werden vor und nach Änderungen an einer gespeicherten Eigenschaft ausgeführt. Verwenden Sie newValue/oldValue für den Kontext.
struct Counter {
var value: Int = 0 {
willSet { print("will set to", newValue) }
didSet { print("did set from", oldValue) }
}
}
var cnt = Counter()
cnt.value = 5
cnt.value = 9Beobachter vs. berechnete Eigenschaften
Hinweise:
- Beobachter gelten für gespeicherte Eigenschaften, einschließlich solcher, die Sie in Extensions festlegen.
- Berechnete Eigenschaften unterstützen keine Beobachter – platzieren Sie die Logik stattdessen in set.
- Während der Initialisierung werden Beobachter nicht aufgerufen, solange der Speicher noch nicht bereit ist.
Praktisches Muster
Kombinieren Sie Beobachter, um Eingaben zu normalisieren, und eine berechnete Eigenschaft, um Anzeigedaten abzuleiten.
struct Score {
var raw: Int = 0 {
didSet {
if raw < 0 { raw = 0 }
if raw > 100 { raw = 100 }
}
}
var label: String {
// computed: derive a label from current raw
if raw >= 90 { return "A" }
if raw >= 80 { return "B" }
if raw >= 70 { return "C" }
return "D"
}
}
var s = Score()
s.raw = 120
print(s.raw, s.label) // 100 A
s.raw = -5
print(s.raw, s.label) // 0 DBeobachterregel
Kurzer Test: Was wird vor bzw. nach einer Änderung an einer gespeicherten Eigenschaft ausgeführt?
Zusammenfassung
Zusammenfassung: Verwenden Sie gespeicherte Eigenschaften für Daten, berechnete Eigenschaften für abgeleitete Werte (get/set) und willSet/didSet, um auf Änderungen an gespeicherten Eigenschaften zu reagieren.
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 „Gespeicherte und berechnete Properties, Observer“ kostenlos?
Ja — der vollständige Text von „Gespeicherte und berechnete Properties, Observer“ 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 3 Lektionen.
Was lerne ich in „Gespeicherte und berechnete Properties, Observer“?
Definieren Sie gespeicherte und berechnete Properties, erstellen Sie schreibgeschützte sowie les- und schreibbare berechnete Properties und reagieren Sie mit willSet/didSet-Observern auf Änderungen. 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 2 von 3.
Wie lange dauert die Lektion „Gespeicherte und berechnete Properties, Observer“?
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
- Structs vs. Klassen, Properties und Initializer
- Gespeicherte und berechnete Properties, Observer
- Initializer und deinit (Klassen)