Junior — Middle
MRC mexanizmi qanday ishlashini tushuntirib berishingiz mumkinmi?
sobes.tech AI
AIdan javob
MRC (Qo'lda Referenslarni Qo'lda Hisoblash) iOS'da xotira boshqarish mexanizmi bo'lib, bu yerda dasturchi ob'ektlarga bo'lgan referenslar hisobini o'zi yuritadi.
Ishlash prinsipi:
- Har bir ob'ektning referenslar hisoblagichi bor.
- Ob'ekt yaratilganda yoki tayinlanganda, hisob oshadi (
retain). - Referenslar ozod qilinayotganda, hisob kamayadi (
release). - Agar hisob noldan pastga tushsa, ob'ekt yo'q qilinadi.
Objective-C'da misol:
NSObject *obj = [[NSObject alloc] init]; // hisob = 1
[obj retain]; // hisob = 2
[obj release]; // hisob = 1
[obj release]; // hisob = 0, ob'ekt o'chiriladi
Xotira oqib ketishlarini yoki ob'ektlarning erta o'chirilishini oldini olish uchun retain va release ni qo'lda chaqirish muhimdir. Zamonaviy iOS loyihalarida, bu jarayonni avtomatlashtiradigan ARC (Avtomatik Referenslar Hisobi) keng qo'llaniladi.