Sobes.tech
Junior — Middle

Puoi fare un esempio di una situazione in cui un riferimento debole viene automaticamente impostato su null?

sobes.tech AI

Risposta dell'AI

Il riferimento debole viene automaticamente annullato quando l'oggetto a cui si riferisce viene liberato dalla memoria (cioè quando non ci sono più riferimenti forti ad esso).

Ad esempio, in iOS, utilizzando un riferimento weak al delegato:

class ViewController: UIViewController {
    weak var delegate: SomeDelegate?
}

Se l'oggetto delegato viene distrutto (ad esempio, esce dall'ambito e viene liberato), allora delegate diventa automaticamente nil. Questo impedisce l'accesso a un oggetto già liberato e aiuta a prevenire errori e perdite di memoria.