Junior — Middle
Mekkora az objektumok száma szükséges a hivatkozási ciklus kialakulásához?
sobes.tech MI
Válasz az MI-től
Az erős hivatkozási ciklus kialakulásához szükséges minimális objektumszám kettő.
Hivatkozási ciklus akkor alakul ki, amikor két objektum erős hivatkozásokat tart fenn egymásra, ami megakadályozza az ARC (Automatic Reference Counting) rendszerben, hogy felszabadítsa a memóriát, mivel minden objektum tart egy hivatkozást a másikra.
Példa:
class A {
var b: B?
}
class B {
var a: A?
}
let objectA = A()
let objectB = B()
objectA.b = objectB
objectB.a = objectA
Ebben az esetben az objectA és az objectB egymásra hivatkozik, ami memória szivárgáshoz vezet, ha nem használunk gyenge (weak) vagy nem birtokló (unowned) hivatkozásokat.