Sobes.tech
Назад к вопросам
Junior — Middle
81

Возможно ли объявить переменную с модификатором Weak, которая является постоянной и не изменяемой в программе?

Компании, где спрашивали
Альфа-БанкАльфа-Банк

Ответ от нейросети

sobes.tech AI

В Swift переменная с модификатором weak должна быть объявлена как var, а не let. Это связано с тем, что слабая ссылка (weak) автоматически становится nil, когда объект, на который она ссылается, освобождается. Если бы weak была объявлена как let (константа), то после установки nil изменить значение нельзя было бы, что противоречит самой идее слабой ссылки.

Таким образом, объявить weak константу невозможно, так как слабая ссылка должна быть изменяемой, чтобы корректно обнуляться при освобождении объекта.