Принцип работы автоматического подсчёта ссылок (ARC) в Swift заключается в отслеживании достижимости объекта и управлении памятью приложения. swiftbook.org habr.com
Некоторые этапы работы ARC:
- Создание экземпляра класса. swiftbook.org www.dhiwise.com ARC выделяет фрагмент памяти для хранения информации об экземпляре. swiftbook.org www.dhiwise.com В памяти содержится информация о типе экземпляра, его значении и любых свойствах хранения, связанных с ним. swiftbook.org
- Увеличение количества ссылок. www.dhiwise.com Каждый раз, когда другой объект ссылается на экземпляр класса, количество ссылок на него увеличивается. www.dhiwise.com
- Уменьшение количества ссылок. www.dhiwise.com Когда объект больше не ссылается на экземпляр, количество ссылок на него уменьшается. www.dhiwise.com
- Освобождение памяти. swiftbook.org www.dhiwise.com Когда количество ссылок на экземпляр достигает нуля, ARC автоматически освобождает память, использованную этим экземпляром. www.dhiwise.com
Чтобы нужный экземпляр не пропал, ARC ведёт учёт количества свойств, констант, переменных, которые ссылаются на каждый экземпляр класса. swiftbook.org ARC не освободит экземпляр, если есть хотя бы одна активная ссылка. swiftbook.org
ARC применима только для экземпляров класса, для структур и перечислений этот механизм не работает. swiftbook.org www.tutlane.com