Чем closure retain cycle отличается от weak capture и когда что выбрать?

iOS / SwiftMiddleMemory ManagementСравнениеios|swift|memory management|closure|closure retain cycle

Что хотят услышать интервьюеры:

Сравнение: closure retain cycle нужно оценивать в контексте задачи, а не как универсально лучший вариант. В сравнении с weak capture смотрите на ownership, lifecycle, читаемость, поддержку разных iOS версий, тестируемость и риск ошибок.

Ответ:

Нюанс: очень частый вопрос на iOS интервью.

Как отвечать: назвать критерии выбора, привести реальный пример и честно обозначить ограничения.

service.onUpdate = { [weak self] in self?.reload() }

Источники

Похожие вопросы