0Pricing
Swift Academy · Lektion

lazy und Property-Observer

Verwenden Sie lazy gespeicherte Properties für verzögerte Arbeit und beobachten Sie Änderungen an gespeicherten Properties mit willSet/didSet.

lazy und Property-Observer ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 2 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

Diese Lektion konzentriert sich auf zwei Grundlagen: lazy-gespeicherte Eigenschaften und Eigenschaftsbeobachter (willSet/didSet).

lazy-Eigenschaft

lazy verschiebt die Erstellung bis zum ersten Zugriff. Das ist nützlich für aufwendige Berechnungen oder wenn self benötigt wird.

struct DataLoader {
    lazy var data: [Int] = {
        print("Loading data...")
        return [1, 2, 3]
    }()
}
var loader = DataLoader()
print("before access")
print(loader.data)   // triggers initialization only now

lazy und self

Klassen können lazy verwenden, um nach der Initialisierung auf von self abhängige Werte zuzugreifen.

class CacheOwner {
    let name: String
    lazy var hello: String = "Hi, " + name  // uses self safely after init
    init(name: String) { self.name = name }
}
let co = CacheOwner(name: "Ada")
print(co.hello)

Eigenschaftsbeobachter

Beobachter greifen bei Änderungen an einer gespeicherten Eigenschaft ein. Verwenden Sie newValue und oldValue für den Kontext.

struct Counter {
    var value: Int = 0 {
        willSet { print("will set to", newValue) }
        didSet  { print("did set from", oldValue) }
    }
}
var c = Counter()
c.value = 5
c.value = 9

Mit didSet begrenzen

Verwenden Sie didSet, um Werte nach der Zuweisung zu normalisieren oder zu begrenzen.

struct Score {
    var raw: Int = 0 {
        didSet {
            if raw < 0 { raw = 0 }
            if raw > 100 { raw = 100 }
        }
    }
}
var s = Score()
s.raw = 120     // clamped to 100
print(s.raw)
s.raw = -5      // clamped to 0
print(s.raw)

Hinweise

Hinweise:

  • lazy funktioniert nur mit var-gespeicherten Eigenschaften.
  • Beobachter gelten für gespeicherte Eigenschaften; berechnete Eigenschaften verwenden stattdessen get/set-Logik.
  • Während der Initialisierung werden Beobachter nicht aufgerufen, solange der Speicher noch nicht bereit ist.

Bedeutung von lazy

Kurzer Test: Was bewirkt lazy?

Zusammenfassung

Zusammenfassung: Verwenden Sie lazy, um aufwendige Initialisierungen zu verzögern, und willSet/didSet, um mit einfachen Regeln auf Änderungen an gespeicherten Eigenschaften zu reagieren.

Häufig gestellte Fragen

Ist die Lektion „lazy und Property-Observer“ kostenlos?

Ja — der vollständige Text von „lazy und Property-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 4 Lektionen.

Was lerne ich in „lazy und Property-Observer“?

Verwenden Sie lazy gespeicherte Properties für verzögerte Arbeit und beobachten Sie Änderungen an gespeicherten Properties mit willSet/didSet. 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 4.

Wie lange dauert die Lektion „lazy und Property-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

  1. Properties und Subscripts
  2. lazy und Property-Observer
  3. Berechnete Properties mit get/set
  4. Subscripts für benutzerdefinierte Indizierung
← Zurück zu Swift Academy