Система управления памятью в iOS основана на Automatic Reference Counting (ARC), а не на традиционном сборщике мусора. ARC автоматически управляет жизненным циклом объектов путем подсчета Strong ссылок на них. Когда счетчик ссылок объекта становится равным нулю, ARC деаллоцирует память, занимаемую этим объектом.
Ключевые моменты:
nil, когда объект деаллоцируется. Используются для предотвращения циклов сильных ссылок.nil. Используются, когда известно, что ссылка будет существовать дольше, чем объект на который она ссылается. Небезопасные, если объект может быть деаллоцирован до того, как ссылка перестанет использоваться.Пример Strong, Weak, Unowned ссылок:
swift
В данном примере apartment является Strong ссылкой на Apartment, а tenant — Weak ссылкой на Person для избежания цикла сильных ссылок. Без weak оба объекта остались бы в памяти, даже если бы john и unit4A стали nil.