Почему delegate в iOS обычно объявляют как weak?
Что хотят услышать интервьюеры:
Чтобы избежать retain cycle. ViewController часто владеет child view/service, а тот хранит ссылку на delegate. Если delegate будет strong, объекты могут удерживать друг друга.
Ответ:
weak var delegate: SomeDelegate? — стандартный паттерн для delegates.