Sobes.tech
Junior

Ce sunt modificatorii de memorie strong?

sobes.tech AI

Răspuns de la AI

Modificatorul strong menține o referință puternică către obiect, împiedicând deallocarea acestuia atâta timp cât există cel puțin o referință puternică. Este utilizat implicit pentru variabilele declarate fără modificatori speciali.

Exemplu:

class MyClass {
    var name: String = ""

    init(name: String) {
        self.name = name
        print("Obiect '\(name)' creat")
    }

    deinit {
        print("Obiect '\(name)' deallocat")
    }
}

// referință puternică
var obj1: MyClass? = MyClass(name: "Primul")
// Altă referință puternică
var obj2: MyClass? = obj1

print("---")

// Setarea unei referințe la nil nu duce la deallocare
obj1 = nil
print("---")

// Setarea ultimei referințe puternice la nil duce la deallocare
obj2 = nil
print("---")