DevPrep

Все темы › Современный Swift

Как работает ARC и когда возникают retain cycle?

Middle PRO

Суть

ARC (Automatic Reference Counting) — компилятор вставляет retain/release в местах, где появляются и исчезают сильные ссылки на объект класса. Счётчик хранится в заголовке объекта; когда он падает до нуля, вызывается deinit и память освобождается — детерминированно, без сборщика мусора. ARC касается только классов (и замыканий, у которых контекст — тоже объект в куче); структуры и enum просто копируются.

Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.

Полный ответ — в DevPrep

Потренируйтесь перед собеседованием

В DevPrep эти ответы превращаются в задачи на минуту: что напечатает код, найди баг, пробное собеседование. По задаче в день.

Скачать DevPrep в App Store