Хотя бы одна сильная (strong) ссылка.
В Swift для управления памятью используется Automatic Reference Counting (ARC). ARC отслеживает количество сильных ссылок на экземпляр класса. Объект остается в памяти, пока на него есть хотя бы одна сильная ссылка. Как только количество сильных ссылок становится равным нулю, ARC деаллоцирует (освобождает) память, занимаемую объектом.
Типы ссылок в Swift:
- Сильная (Strong): Увеличивает счетчик ссылок объекта. Удерживает объект в памяти.
- Слабая (Weak): Не увеличивает счетчик ссылок. Используется для предотвращения циклов сильных ссылок. Ссылается на nil, когда объект деаллоцируется. Объявляется с ключевым словом
weak.
- Бесхозная (Unowned): Не увеличивает счетчик ссылок. Используется для предотвращения циклов сильных ссылок, когда жизненный цикл объекта, на который ссылаются, совпадает или превышает жизненный цикл ссылающегося объекта. Не может быть опционалом. Если объект деаллоцируется до того, как бесхозная ссылка на него станет нулевой, при попытке доступа к ссылке произойдет сбой времени выполнения. Объявляется с ключевым словом
unowned.
Пример:
swift