0Pricing
Swift Academy · Lektion

Werttypen zur Verringerung gemeinsamer Nutzung

Bevorzugen Sie Werttypen , um unbeabsichtigte gemeinsame Nutzung zu vermeiden: Structs und Enums werden bei der Zuweisung kopiert, was Isolation, Vorhersagbarkeit und Thread-Sicherheit unterstützt.

Werttypen zur Verringerung gemeinsamer Nutzung ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 3 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.

Warum Werttypen?

Swift-Structs/Enums sind Werttypen: Zuweisungen und Übergaben erzeugen Kopien. Das verringert unbeabsichtigtes Teilen und macht den Zustand leichter nachvollziehbar.

Geteilte Referenzen (Klasse)

Klassen sind Referenztypen: Mehrere Variablen können auf dieselbe Instanz zeigen, sodass sich Änderungen über Aliase hinweg auswirken.

final class Bag {
    var items: [String]
    init(_ items: [String]) { self.items = items }
}
let a = Bag(["pen"])
let b = a            // REF COPY: a and b refer to the same object
b.items.append("book")
print(a.items)       // ["pen","book"] — mutated via b
print(b.items)

Unabhängige Kopien (Struct)

Structs werden bei der Zuweisung kopiert. Jede Variable besitzt ihre eigenen Daten; Änderungen bleiben lokal.

struct Point { var x: Int; var y: Int }
var p1 = Point(x: 1, y: 2)
var p2 = p1          // VALUE COPY: independent
p2.x = 99
print(p1.x, p2.x)    // 1, 99 — p1 unaffected

Copy-on-write-Sammlungen

Array/Dictionary/Set sind Werttypen mit Copy-on-write. Wenn Sie ein nicht eindeutig referenziertes Array ändern, erstellt Swift eine neue Kopie.

var a1 = [1,2,3]
var a2 = a1      // copy-on-write handle
a2.append(4)     // triggers copy if a1 is uniquely referenced
print(a1)        // [1,2,3]
print(a2)        // [1,2,3,4]

Updates im funktionalen Stil

Entwerfen Sie weitgehend reine APIs: Übernehmen Sie einen Wert und geben Sie einen neuen Wert zurück. Aufrufer vermeiden dadurch unerwartete gemeinsam genutzte Änderungen.

struct Profile {
    var name: String
    var tags: [String]
}
func addTag(_ p: Profile, _ tag: String) -> Profile {
    var copy = p          // work on a value copy
    copy.tags.append(tag) // caller gets a new updated value
    return copy
}
let pA = Profile(name: "Ana", tags: [])
let pB = addTag(pA, "swift")
print(pA.tags)  // []
print(pB.tags)  // ["swift"]

Die richtige Wahl treffen

Richtlinien:

  • Bevorzugen Sie struct für kleine, unveränderliche oder lokal veränderte Daten.
  • Verwenden Sie class, wenn Identität, gemeinsam genutzter veränderlicher Zustand oder Vererbung erforderlich ist.
  • Werttypen verringern das Teilen von Daten und erleichtern eine sichere Betrachtung von Nebenläufigkeit.

Werte vs. geteilte Referenzen

Kurztest: Warum helfen Werttypen dabei, unbeabsichtigtes Teilen zu vermeiden?

Zusammenfassung

Zusammenfassung: Structs und Enums sind Werte. Verwenden Sie sie, um gemeinsam genutzten veränderlichen Zustand zu minimieren. Sammlungen verwenden Copy-on-write, damit Änderungen andere Besitzer nicht überraschen.

Häufig gestellte Fragen

Ist die Lektion „Werttypen zur Verringerung gemeinsamer Nutzung“ kostenlos?

Ja — der vollständige Text von „Werttypen zur Verringerung gemeinsamer Nutzung“ 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 „Werttypen zur Verringerung gemeinsamer Nutzung“?

Bevorzugen Sie Werttypen , um unbeabsichtigte gemeinsame Nutzung zu vermeiden: Structs und Enums werden bei der Zuweisung kopiert, was Isolation, Vorhersagbarkeit und Thread-Sicherheit unterstützt. 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 3.

Wie lange dauert die Lektion „Werttypen zur Verringerung gemeinsamer Nutzung“?

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. Grundlagen von ARC: strong / weak / unowned
  2. Retain Cycles erkennen und mit weak/unowned aufbrechen
  3. Werttypen zur Verringerung gemeinsamer Nutzung
← Zurück zu Swift Academy