Сильные ссылки (strong references) в Swift необходимы для того, чтобы объект оставался в памяти, пока на него есть хотя бы одна сильная ссылка. Они являются поведением по умолчанию для ссылочных типов (классов).
Когда переменная или константа ссылается на экземпляр класса, эта ссылка по умолчанию сильная. Это увеличивает счетчик ссылок (reference count) для данного экземпляра. Как только все сильные ссылки на экземпляр перестают существовать (например, переменные выходят из зоны видимости или им присваивается nil), счетчик ссылок достигает нуля, и система управления памятью (ARC - Automatic Reference Counting) освобождает память, занятую этим экземпляром.
Основная задача сильных ссылок — гарантировать, что объект не будет деаллоцировано преждевременно, пока он еще используется. Без сильных ссылок объекты могли бы быть удалены в любое время, что привело бы к ошибкам доступа к освобожденной памяти (dangling pointer errors).
Однако сильные ссылки могут приводить к циклу сильных ссылок (retain cycle), когда два или более объекта имеют сильные ссылки друг на друга, и ни один из них не может быть освобожден, даже если на них нет других внешних ссылок. Для предотвращения таких циклов используются слабые (weak) и бесхозные (unowned) ссылки.