Կարող եք բացատրել, թե ինչ է նշանակում MRC տերմինը և ինչ է նրա իմաստը:
sobes.tech AI
Պատասխան AI-ից
MRC (Ձեռնարկային Հղման Հաշվարկ) — դա հիշողության կառավարման մեխանիզմ է, որտեղ ծրագրավորողը ինքն է պատասխանատու օբյեկտի հղումների հաշվարկի և հիշողության ազատման համար, երբ օբյեկտը artık անհրաժեշտ չէ:
iOS և Objective-C-ում, ARC (Ավտոմատ Հղման Հաշվարկ) ի հայտ գալուց առաջ, ծրագրավորողները ձեռքով ավելացնում և նվազեցնում էին հղումների հաշվիչը retain և release մեթոդների միջոցով: Երբ օբյեկտի հղումների հաշվիչը հասնում է զրոյի, օբյեկտի հիշողությունը ազատվում է:
MRC-ի հիմնական սկզբունքը:
- Ամեն անգամ, երբ պահում եք հղում օբյեկտին, կանչում եք
retain: - Երբ հղումը այլևս անհրաժեշտ չէ, կանչում եք
release: - Եթե հղումների հաշվիչը զրոյ է, օբյեկտը ոչնչացվում է:
Այս գործընթացը պահանջում է ուշադրություն՝ խուսափելու հիշողության լքվածությունից (եթե մոռանաք կանչել release) կամ արդեն ազատված հիշողությանը մուտք գործելու սխալներից (եթե շատ շուտ կանչեք release):
Օրինակ:
NSObject *obj = [[NSObject alloc] init]; // հաշվիչը = 1
[obj retain]; // հաշվիչը = 2
[obj release]; // հաշվիչը = 1
[obj release]; // հաշվիչը = 0, օբյեկտը ազատվում է
MRC-ն պահանջում է ծրագրավորողի խիստ վերահսկողություն օբյեկտների կյանքի ցիկլի վրա, հակառակ դեպքում ARC-ն դա ավտոմատացնում է։