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.