Sobes.tech
Junior

Co jsou to modifikátory paměti strong?

sobes.tech AI

Odpověď od AI

Modifikátor strong udržuje silné odkaz na objekt, čímž zabraňuje jeho uvolnění, dokud existuje alespoň jedno silné odkazování. Výchozí nastavení pro proměnné deklarované bez speciálních modifikátorů.

Příklad:

class MyClass {
    var name: String = ""

    init(name: String) {
        self.name = name
        print("Objekt '\(name)' vytvořen")
    }

    deinit {
        print("Objekt '\(name)' uvolněn")
    }
}

// silné odkazování
var obj1: MyClass? = MyClass(name: "První")
// Další silné odkazování
var obj2: MyClass? = obj1

print("---")

// Nastavení jedné reference na nil nevede k uvolnění
obj1 = nil
print("---")

// Nastavení poslední silné reference na nil vede k uvolnění
obj2 = nil
print("---")