Sobes.tech
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.