Junior — Middle
Koks mažiausias objektų skaičius, reikalingas atmintyje išlaikymo ciklui sukurti?
sobes.tech AI
Atsakymas iš AI
Minimalus objektų skaičius, reikalingas sukurti išlaikymo ciklą (retain cycle) atmintyje, yra du. Tai įvyksta, kai du objektai vienas kitą palaiko stipriomis nuorodomis, dėl ko atminties valdymo sistema jų atlaisvinti negali, net jei jie daugiau nereikalingi.
Swift pavyzdys:
class A {
var b: B?
}
class B {
var a: A?
}
let objectA = A()
let objectB = B()
objectA.b = objectB
objectB.a = objectA
Šiame pavyzdyje objectA ir objectB vienas kitą palaiko, sukurdami išlaikymo ciklą.