Junior — Middle
Երբ է տեղի ունենում օբյեկտի զբաղեցրած հիշողության ազատում?
sobes.tech AI
Պատասխան AI-ից
iOS-ում օբյեկտի հիշողության ազատումը տեղի է ունենում այն պահին, երբ այդ օբյեկտի (retain count) հղումների հաշվիչը հասնում է զրոյի: Սա նշանակում է, որ այլևս ոչ ոք չի հղում այդ օբյեկտին, և համակարգը կարող է ազատել այն զբաղեցրած հիշողությունը:
Նորագույն հավելվածներում օգտագործվում է ARC (Automatic Reference Counting), որը ավտոմատ կերպով ավելացնում և նվազեցնում է հղումների հաշվիչը օբյեկտին վերագրելու և հանելու ժամանակ:
Օրինակ՝
class MyClass {}
var obj: MyClass? = MyClass() // հղումների հաշվիչը = 1
obj = nil // հղումների հաշվիչը = 0, օբյեկտը ազատվում է
Այսպիսով, հիշողության ազատումը տեղի է ունենում անմիջապես այն ժամանակ, երբ վերջին սեփականատերը դադարում է հղում կատարել օբյեկտին։