Назад к вопросам
Junior — Middle
68
Объясните, почему отсутствие значения у слабой ссылки не вызывает ошибок или нежелательных последствий в вашем приложении.
Компании, где спрашивали
Uzum
Ответ от нейросети
sobes.tech AI
Слабая ссылка (weak reference) в iOS не удерживает объект в памяти, поэтому когда на объект больше нет сильных ссылок, он может быть освобожден сборщиком мусора (ARC). Отсутствие значения у слабой ссылки означает, что объект уже удалён, и это не вызывает ошибок, если правильно проверять наличие объекта перед использованием. Обычно слабые ссылки используются для предотвращения циклов удержания, например, в делегатах:
class DelegateHolder {
weak var delegate: SomeDelegate?
}
Если объект делегата удалён, delegate станет nil, и это безопасно обрабатывается в коде.