Sobes.tech
Junior — Middle

Wanneer vindt de automatische vrijgave van geheugen plaats voor een object waarnaar een sterke referentieteller wijst en dat ontoegankelijk wordt?

sobes.tech AI

Antwoord van AI

Automatisch geheugen vrijmaken voor een object met sterke referenties gebeurt wanneer de teller van sterke referenties naar dat object nul wordt, dat wil zeggen dat er geen sterke referentie meer naar het object wijst.

Op dat moment wordt het object ontoegankelijk en kan het worden verwijderd door het geheugenbeheersysteem (ARC in iOS). Als er ten minste één sterke referentie bestaat, blijft het object in het geheugen.

Voorbeeld:

class MyClass {}

var a: MyClass? = MyClass() // teller van sterke referenties = 1
var b = a                   // teller van sterke referenties = 2

a = nil                    // teller van sterke referenties = 1
b = nil                    // teller van sterke referenties = 0, object wordt vrijgegeven

Zo wordt geheugen automatisch vrijgegeven wanneer het object niet meer nodig is en er geen sterke referenties meer naar zijn.