Sobes.tech
Junior — Middle

Hoe beïnvloedt het gebruik van sterke referenties in een programmeertaal de levensduur van een object in het geheugen?

sobes.tech AI

Antwoord van AI

In iOS (en Swift/Objective-C) zijn sterke (strong) referenties normale referenties naar objecten die de referentieteller van het object verhogen. Zolang er ten minste één sterke referentie naar het object bestaat, wordt het niet uit het geheugen verwijderd.

Dit betekent dat het object blijft bestaan in het geheugen zolang er sterke referenties naar zijn. Wanneer alle sterke referenties worden verwijderd of nil worden, wordt het object automatisch vrijgegeven (ARC — Automatische Referentietelling).

Voorbeeld:

class Person {
    var name: String
    init(name: String) { self.name = name }
}

var person1: Person? = Person(name: "Alex") // sterke referentie
var person2 = person1 // verhoogt de referentieteller

person1 = nil // het object bestaat nog steeds, omdat person2 ernaar verwijst
person2 = nil // nu wordt het object vrijgegeven

Op deze manier beïnvloeden sterke referenties direct de levensduur van het object in het geheugen — zolang er minstens één is, leeft het object.