Sobes.tech
Back to questions
Junior — Middle
66

Можете объяснить, каким образом функционирует механизм MRC?

Companies where asked
VKVK

Answer from AI

sobes.tech AI

MRC (Manual Reference Counting) — это механизм управления памятью в iOS, при котором программист самостоятельно отвечает за подсчёт ссылок на объекты.

Принцип работы:

  • Каждый объект имеет счётчик ссылок.
  • При создании или присвоении объекта счётчик увеличивается (retain).
  • При освобождении ссылки счётчик уменьшается (release).
  • Когда счётчик достигает нуля, объект уничтожается.

Пример на Objective-C:

NSObject *obj = [[NSObject alloc] init]; // счётчик = 1
[obj retain]; // счётчик = 2
[obj release]; // счётчик = 1
[obj release]; // счётчик = 0, объект удаляется

Важно вручную вызывать retain и release, чтобы избежать утечек памяти или преждевременного удаления объектов. В современных iOS проектах чаще используется ARC (Automatic Reference Counting), который автоматизирует этот процесс.