Junior — Middle
Kun je een voorbeeld geven van een situatie waarin een zwakke verwijzing automatisch op null wordt gezet?
sobes.tech AI
Antwoord van AI
Een zwakke verwijzing wordt automatisch genegeerd wanneer het object waarnaar het verwijst wordt vrijgegeven uit het geheugen (dat wil zeggen, wanneer er geen sterke verwijzingen meer naar zijn).
Bijvoorbeeld, in iOS met het gebruik van een weak verwijzing naar de delegate:
class ViewController: UIViewController {
weak var delegate: SomeDelegate?
}
Als het delegate-object wordt vernietigd (bijvoorbeeld, het verlaat de scope en wordt vrijgegeven), wordt delegate automatisch nil. Dit voorkomt dat er wordt verwezen naar een al vrijgegeven object en helpt fouten en geheugenlekken te voorkomen.