Чтобы ответить на этот вопрос, в любом случае необходимы примеры, но, как обычно в нашей разработке,
it depends.Например, последние версии Swift заставили посмотреть на использование под иным углом.
📖 В своём материале Винсент приводит несколько примеров, и объясняет, когда
[weak self] необходим, и когда это излишне, как, например, в случае с .map().📖 Кстати, вот тут можно узнать, какие из сценариев могут привести к утечкам памяти.
😃 iOS Dev
