Junior
Kas yra strong atminties modifikatoriai?
sobes.tech AI
Atsakymas iš AI
strong modifikatorius išlaiko stiprią nuorodą į objektą, užkertant kelią jo deallocacijai, kol egzistuoja bent viena stipri nuoroda. Pagal numatytuosius nustatymus jis naudojamas kintamiesiems, deklaruotiems be specialių modifikatorių.
Pavyzdys:
class MyClass {
var name: String = ""
init(name: String) {
self.name = name
print("Objektas '\(name)' sukurtas")
}
deinit {
print("Objektas '\(name)' deallocuotas")
}
}
// stipri nuoroda
var obj1: MyClass? = MyClass(name: "Pirmas")
// Kita stipri nuoroda
var obj2: MyClass? = obj1
print("---")
// Nustatymas vienos nuorodos į nil neveda prie deallocacijos
obj1 = nil
print("---")
// Nustatymas paskutinės stiprios nuorodos į nil veda prie deallocacijos
obj2 = nil
print("---")