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("---")