Junior — Middle
Verfügt Swift über eine automatische Speicherbereinigung, ähnlich wie GC in anderen Sprachen?
sobes.tech KI
Antwort von AI
In Swift wird die automatische Speicherbereinigung (GC) nicht im klassischen Sinne verwendet, wie in Java oder C#. Stattdessen verwendet Swift ein Referenzzählungssystem (ARC — Automatic Reference Counting). ARC verfolgt automatisch die Anzahl der Referenzen auf ein Objekt und gibt den Speicher frei, wenn keine Referenzen mehr vorhanden sind.
Beispiel:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
var person1: Person? = Person(name: "Ivan")
var person2 = person1 // erhöht den Referenzzähler
person1 = nil // das Objekt lebt noch, da person2 darauf verweist
person2 = nil // jetzt wird das Objekt freigegeben
Auf diese Weise arbeitet ARC automatisch, jedoch ohne Pausen und Overhead, die bei traditionellen Müllsammlern üblich sind.