Junior
Was sind die strong-Speicher-Modifikatoren?
sobes.tech KI
Antwort von AI
Der Modifikator strong hält eine starke Referenz auf das Objekt, verhindert dessen Deallokation, solange mindestens eine starke Referenz besteht. Wird standardmäßig für Variablen verwendet, die ohne spezielle Modifikatoren deklariert sind.
Beispiel:
class MyClass {
var name: String = ""
init(name: String) {
self.name = name
print("Objekt '\(name)' erstellt")
}
deinit {
print("Objekt '\(name)' deallokiert")
}
}
// starke Referenz
var obj1: MyClass? = MyClass(name: "Erster")
// Andere starke Referenz
var obj2: MyClass? = obj1
print("---")
// Das Setzen einer Referenz auf nil führt nicht zur Deallokation
obj1 = nil
print("---")
// Das Setzen der letzten starken Referenz auf nil führt zur Deallokation
obj2 = nil
print("---")