Sobes.tech
Junior — Middle

É possível declarar uma variável com o modificador Weak que seja constante e imutável no programa?

sobes.tech IA

Resposta da IA

No Swift, uma variável com o modificador weak deve ser declarada como var, não como let. Isso ocorre porque a referência fraca (weak) torna-se automaticamente nil quando o objeto ao qual ela se refere é liberado. Se weak fosse declarado como let (constante), não seria possível alterar seu valor após definir como nil, o que contradiz a própria ideia de uma referência fraca.

Portanto, não é possível declarar uma constante weak, pois a referência fraca deve ser modificável para ser corretamente anulada quando o objeto for liberado.