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.