Junior — Middle
Jak użycie słabych referencji wpływa na zarządzanie cyklem życia obiektów w pamięci?
sobes.tech AI
Odpowiedź od AI
Słabe odwołania (weak references) w iOS (i ogólnie w zarządzaniu pamięcią) pozwalają na odwoływanie się do obiektu bez uniemożliwiania jego usunięcia przez zbieracz śmieci lub system ARC (Automatic Reference Counting). Jeśli obiekt jest dostępny tylko przez słabe odwołania, może zostać zwolniony z pamięci.
To pomaga unikać cyklicznych zależności i wycieków pamięci, ponieważ słabe odwołanie nie zwiększa licznika odwołań obiektu.
Przykład w Swift:
class Person {
var name: String
weak var delegate: SomeDelegate?
init(name: String) {
self.name = name
}
}
Tutaj delegate jest słabym odwołaniem, aby uniknąć utrzymywania obiektu i potencjalnych cykli.