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.