Когда можно НЕ писать [weak self] в замыкании?
Правило
[weak self] нужен, когда возникает цикл: self хранит замыкание (напрямую или через объект, который он держит), а замыкание захватывает self. Если цикла нет — сильный захват безопасен и часто предпочтительнее: он лишь продлевает жизнь self до завершения работы.
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep