Почему delegate в iOS обычно объявляют как weak?

iOS / SwiftJuniorMemory ManagementПопулярный вопросios|arc|delegate|почему delegate в ios обычно объявляют как weak?

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

Чтобы избежать retain cycle. ViewController часто владеет child view/service, а тот хранит ссылку на delegate. Если delegate будет strong, объекты могут удерживать друг друга.

Ответ:

weak var delegate: SomeDelegate?

— стандартный паттерн для delegates.

Источники

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