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