Sobes.tech
Junior — Middle

Jak ovlivňuje použití slabých odkazů správu životního cyklu objektů v paměti?

sobes.tech AI

Odpověď od AI

Slabé odkazy (weak references) v iOS (a obecně v řízení paměti) umožňují odkazovat na objekt, aniž by bránily jeho odstranění garbage collectorem nebo systémem ARC (Automatické počítání odkazů). Pokud je objekt dostupný pouze přes slabé odkazy, může být uvolněn z paměti.

To pomáhá zabránit cyklickým závislostem a únikům paměti, protože slabý odkaz nezvyšuje čítač odkazů objektu.

Příklad v Swift:

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

Zde je delegate slabý odkaz, aby se zabránilo udržování objektu a možným cyklům.