0Pricing
Swift Academy · Lektion

Berechnete Eigenschaften in Structs

Leiten Sie Werte mit berechneten Eigenschaften nur mit get oder mit get/set ab.

Berechnete Eigenschaften in Structs ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 3 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.

Willkommen

Berechnete Properties speichern keinen Wert – sie berechnen bei Bedarf einen Wert und geben ihn zurück. Für Aufrufer sehen sie wie Properties aus, führen aber im Hintergrund Code aus.

Schreibgeschützte berechnete Property

```swift struct Circle { var radius: Double var area: Double { .pi * radius * radius } var circumference: Double { 2 * .pi * radius } } var c = Circle(radius: 5) print(c.area) // 78.53... ```

get und set

```swift struct Temperature { var celsius: Double var fahrenheit: Double { get { celsius * 9/5 + 32 } set { celsius = (newValue - 32) * 5/9 } } } var t = Temperature(celsius: 0) print(t.fahrenheit) // 32 t.fahrenheit = 212 print(t.celsius) // 100 ```

Kurzform für get — Schlüsselwort get weglassen

Bei schreibgeschützten Properties ist die `get { }`-Umhüllung optional: ```swift var area: Double { .pi * radius * radius } // same as { get { ... } } ```

newValue in set

Innerhalb von `set` heißt der eingehende Wert standardmäßig `newValue`: ```swift set { celsius = (newValue - 32) * 5/9 } ``` Oder benennen Sie ihn explizit: ```swift set(degF) { celsius = (degF - 32) * 5/9 } ```

Berechnete Properties werden nicht gespeichert

Berechnete Properties verfügen über keinen zugrunde liegenden Speicher – bei jedem Zugriff wird der Code ausgeführt: ```swift struct Stats { var scores: [Int] var average: Double { guard !scores.isEmpty else { return 0 } return Double(scores.reduce(0,+)) / Double(scores.count) } } ```

Statische berechnete Properties

```swift struct Config { static var appName: String { Bundle.main.infoDictionary?["CFBundleName"] as? String ?? "App" } } print(Config.appName) ```

Berechnete Properties in Protocols

```swift protocol Greetable { var greeting: String { get } } struct Person: Greetable { var name: String var greeting: String { "Hello, \(name)!" } } ``` Protocols können berechnete Properties verlangen – geben Sie einfach `{ get }` oder `{ get set }` an.

Performance von berechneten und gespeicherten Properties

• Berechnet: wird bei jedem Zugriff neu berechnet – vermeiden Sie aufwendige Berechnungen in häufig gelesenen Properties • Verwenden Sie `lazy var` für aufwendige, einmalig berechnete Werte: ```swift lazy var thumbnail: UIImage = generateThumbnail() ```

Ausdruckskörper vs. Block

Bei berechneten Properties mit einem einzigen Ausdruck gibt Swift ab Version 5.9 den Rückgabewert implizit zurück: ```swift var fullName: String { "\(first) \(last)" } // equivalent to: var fullName: String { return "\(first) \(last)" } ```

Schnelltest

Wie lautet der Standardname für den eingehenden Wert innerhalb eines `set`-Blocks einer Property?

Zusammenfassung

Die wichtigsten Punkte: • Berechnete Properties führen bei jedem Zugriff Code aus – es gibt keinen zugrunde liegenden Speicher • Schreibgeschützt: Lassen Sie `get`/`set` weg oder verwenden Sie die Kurzform `{ return ... }` • Schreib- und lesbar: Stellen Sie Blöcke für `get` und `set(newValue)` bereit • Ideal für abgeleitete Werte wie `area`, `fullName` und Einheitenumrechnungen • Verwenden Sie `lazy` für aufwendige, einmalig berechnete Werte Als Nächstes: mutierende Methoden.

Häufig gestellte Fragen

Ist die Lektion „Berechnete Eigenschaften in Structs“ kostenlos?

Ja — der vollständige Text von „Berechnete Eigenschaften in Structs“ 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 „Berechnete Eigenschaften in Structs“?

Leiten Sie Werte mit berechneten Eigenschaften nur mit get oder mit get/set ab. 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 3 von 4.

Wie lange dauert die Lektion „Berechnete Eigenschaften in Structs“?

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. Memberwise-Initialisierer und benutzerdefinierte Initialisierer
  2. Gespeicherte Eigenschaften und Eigenschaftsbeobachter
  3. Berechnete Eigenschaften in Structs
  4. Mutierende Methoden und Copy-on-Write-Semantik
← Zurück zu Swift Academy