Sobes.tech
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("---")