Sobes.tech
Junior — Middle

Оё метавонед шарҳи кунед, ки механизми MRC чӣ гуна кор мекунад?

sobes.tech AI

Ҷавоб аз AI

МРЦ (Ҳолисан Референс Саноат) — ин механизм идоракунии хотира дар iOS мебошад, ки дар он барномасоз сам responsibility барои ҳисоб кардани истинодҳо ба объектҳоро дорад.

Принсипи кор:

  • Ҳар як объект дорои ҳисобкунаки истинодҳо мебошад.
  • Ҳангоми эҷод ё таъин кардани объект, ҳисобкунак меафзояд (retain).
  • Ҳангоми озод кардани истинод, ҳисобкунак кам мешавад (release).
  • Вақте ки ҳисобкунак ба сифр мерасад, объект нобуд мешавад.

Масалан дар Objective-C:

NSObject *obj = [[NSObject alloc] init]; // ҳисобкунак = 1
[obj retain]; // ҳисобкунак = 2
[obj release]; // ҳисобкунак = 1
[obj release]; // ҳисобкунак = 0, объект нест карда мешавад

Муҳим аст, ки ба таври дастӣ retain ва release-ро даъват кунед, то аз ҷорӣ шудани сӯроғи хотира ё нобудшавии пеш аз вақтии объектҳо пешгирӣ кунед. Дар лоиҳаҳои муосири iOS, бештар истифода мешавад ARC (Ҳисобкунии автоматии истинодҳо), ки ин равандро автоматӣ мекунад.