Sobes.tech
Junior — Middle

Jaka jest minimalna liczba obiektów potrzebnych do utworzenia cyklu zatrzymania w pamięci?

sobes.tech AI

Odpowiedź od AI

Minimalna liczba obiektów potrzebnych do utworzenia cyklu zatrzymania (retain cycle) w pamięci to dwa. Dzieje się tak, gdy dwa obiekty utrzymują się nawzajem za pomocą silnych referencji, przez co system zarządzania pamięcią nie może ich zwolnić, nawet jeśli nie są już potrzebne.

Przykład w Swift:

class A {
    var b: B?
}

class B {
    var a: A?
}

let objectA = A()
let objectB = B()

objectA.b = objectB
objectB.a = objectA

W tym przykładzie objectA i objectB utrzymują się nawzajem, tworząc cykl zatrzymania.