Теория
Чем отличаются escaping и non-escaping замыкания в Swift?
Сравнение времени жизни escaping- и non-escaping-замыканий в Swift: когда нужен @escaping и как захват self связан с управлением памятью.
Читать ответ