Sobes.tech
Junior

Čo sú to modifikátory pamäte strong?

sobes.tech AI

Odpoveď od AI

Modifikátor strong udrži silné odkaz na objekt, čímž zabrání jeho uvoľneniu, dokler existuje alespoň jedno silné odkazovanie. Predvolene sa používa pre premenné deklarované bez špeciálnych modifikátorov.

Príklad:

class MyClass {
    var name: String = ""

    init(name: String) {
        self.name = name
        print("Objekt '\(name)' vytvorený")
    }

    deinit {
        print("Objekt '\(name)' uvoľnený")
    }
}

// silné odkazovanie
var obj1: MyClass? = MyClass(name: "Prvý")
// Iné silné odkazovanie
var obj2: MyClass? = obj1

print("---")

// Nastavenie jednej referencie na nil nevedie k uvoľneniu
obj1 = nil
print("---")

// Nastavenie poslednej silnej referencie na nil vedie k uvoľneniu
obj2 = nil
print("---")