Junior — Middle
Ի՞նչ նվազագույն քանակությամբ օբյեկտներ են անհրաժեշտ հղումների ցիկլի առաջացման համար։
sobes.tech AI
Պատասխան AI-ից
Կարծիքների ուժեղ շրջանագծի առաջացման համար նվազագույն օբյեկտների թիվը երկու է:
Շրջանագիծը առաջանում է, երբ երկու օբյեկտ ունեն ուժեղ հղումներ միմյանց, ինչը խոչընդոտում է ARC (Ավտոմատ Հղումների Հաշվարկ) համակարգին ազատել հիշողությունը, քանի որ յուրաքանչյուր օբյեկտ պահպանում է հղում մյուսին:
Օրինակ՝
class A {
var b: B?
}
class B {
var a: A?
}
let objectA = A()
let objectB = B()
objectA.b = objectB
objectB.a = objectA
Այստեղ, objectA և objectB միմյանց հղում են, ստեղծելով շրջանագիծ, որը կհանգեցնի հիշողության լքմանը, եթե չօգտագործվեն թույլ (weak) կամ անտարբեր (unowned) հղումներ: