DevPrep

Все темы › Objective-C

Что такое retain cycle и как его разорвать в Obj-C?

Middle PRO

Суть

Retain cycle — два (или больше) объекта держат друг друга сильными ссылками, счётчик ни у одного не доходит до нуля, dealloc не вызывается — утечка. ARC этого не отслеживает: он только считает ссылки, а не ищет недостижимые графы.

Классические случаи:

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

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

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

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

Скачать DevPrep в App Store