Junior
Mi az a strong memória módosítók?
sobes.tech MI
Válasz az MI-től
A strong módosító erős hivatkozást tart fenn az objektumra, megakadályozva annak deallokálását, amíg legalább egy erős hivatkozás létezik. Alapértelmezés szerint olyan változókhoz használják, amelyeket nem különleges módosítókkal deklaráltak.
Példa:
class MyClass {
var name: String = ""
init(name: String) {
self.name = name
print("Objektum '\(name)' létrehozva")
}
deinit {
print("Objektum '\(name)' deallocálva")
}
}
// erős hivatkozás
var obj1: MyClass? = MyClass(name: "Első")
// Másik erős hivatkozás
var obj2: MyClass? = obj1
print("---")
// Egy hivatkozás nullázása nem vezet deallocáláshoz
obj1 = nil
print("---")
// Az utolsó erős hivatkozás nullázása deallocáláshoz vezet
obj2 = nil
print("---")