Sobes.tech
Junior — Middle

Mekkora a legkisebb objektumszám, ami szükséges a memória tartási ciklus kialakításához?

sobes.tech MI

Válasz az MI-től

A memória ciklus (retain cycle) kialakításához szükséges minimális objektumszám kettő. Ez akkor fordul elő, amikor két objektum erős hivatkozásokkal tartja egymást, így a memória kezelő rendszer nem tudja felszabadítani őket, még akkor sem, ha már nincs rájuk szükség.

Swift példában:

class A {
    var b: B?
}

class B {
    var a: A?
}

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

objectA.b = objectB
objectB.a = objectA

Ebben a példában az objectA és az objectB egymást tartják, így létrejön egy memória ciklus.