Junior — Middle
Explique por que a ausência de valor numa referência fraca não causa erros ou consequências indesejadas na sua aplicação.
sobes.tech IA
Resposta da IA
Uma referência fraca (weak reference) no iOS não mantém o objeto na memória, portanto, quando não há mais referências fortes ao objeto, ele pode ser liberado pelo coletor de lixo (ARC). A ausência de valor numa referência fraca significa que o objeto já foi removido, e isso não causa erros se verificar corretamente a existência do objeto antes de usá-lo. Normalmente, referências fracas são usadas para evitar ciclos de retenção, por exemplo, em delegados:
class DelegateHolder {
weak var delegate: SomeDelegate?
}
Se o delegado for removido, delegate torna-se nil, e isso é tratado de forma segura no código.