Sobes.tech
Junior — Middle

Ako ovplyvňuje použitie slabých odkazov správu životného cyklu objektov v pamäti?

sobes.tech AI

Odpoveď od AI

Slabé odkazy (weak references) v iOS (a všeobecne v správe pamäte) umožňujú odkazovať na objekt bez bránenia jeho odstráneniu zberačom odpadu alebo systémom ARC (Automatické počítanie odkazov). Ak je objekt dostupný iba cez slabé odkazy, môže byť uvoľnený z pamäte.

Toto pomáha predísť cyklickým závislostiam a únikom pamäte, pretože slabý odkaz nezvyšuje počet odkazov na objekt.

Príklad v Swift:

class Person {
    var name: String
    weak var delegate: SomeDelegate?
    init(name: String) {
        self.name = name
    }
}

Tu je delegate slabý odkaz, aby sa predišlo udržiavaniu objektu a možným cyklom.