Sobes.tech
Junior

Was sind Werttypen?

sobes.tech KI

Antwort von AI

Die Werttypen in Swift sind Typen, deren Instanzen beim Zuweisen oder Übergeben an eine Funktion kopiert werden. Jede unabhängige Kopie hat ihren eigenen Speicher.

Beispiele:

  • Structs
  • Enums
  • Tuples
  • Integer, Float, Double, Bool, String, Array, Dictionary, Set
struct Point {
    var x: Int
    var y: Int
}

var p1 = Point(x: 1, y: 2)
var p2 = p1 // Wertkopie
p2.x = 10 // Wir ändern die Kopie, p1 bleibt unverändert

print(p1.x) // Ausgabe: 1
print(p2.x) // Ausgabe: 10

Vorteile:

  • Vorhersehbares Verhalten, da Änderungen in einem Teil des Codes andere Kopien nicht beeinflussen.
  • Standardmäßig sichere Handhabung bei der Arbeit mit lokalen Werten.

Nachteile:

  • Das Kopieren kann bei großen Strukturen teuer sein.

Vergleich mit Referenztypen:

Merkmal Werttyp Referenztyp
Zuweisung Kopieren des Wertes Kopieren des Referenzlinks
Änderung Ändert die Kopie Ändert das Originalobjekt
Beispiel struct, enum, tuple, Basistypen class, closure