Junior — Middle
Kāds ir minimālais objektu skaits, kas nepieciešams, lai veidotos atsauces cikls?
sobes.tech AI
Atbilde no AI
Minimālais objektu skaits, nepieciešams stipram ciklam, ir divi.
Cikls veidojas, kad divi objekti ir stipras atsauces viens uz otru, kas neļauj ARC (Automātiskā atsauču skaitīšana iOS) sistēmai atbrīvot atmiņu, jo katrs objekts turpina atsauci uz otru.
Piemērs:
class A {
var b: B?
}
class B {
var a: A?
}
let objectA = A()
let objectB = B()
objectA.b = objectB
objectB.a = objectA
Šeit, objectA un objectB atsaucas viens uz otru, radot ciklu, kas novedīs pie atmiņas noplūdes, ja netiek izmantotas vājās (weak) vai neuzturētās (unowned) atsauces.