Sobes.tech
Junior

Wat zijn de strong geheugenmodifiers?

sobes.tech AI

Antwoord van AI

De strong modifier in Swift geeft aan dat een verwijzing naar een object de referentieteller van dat object met één verhoogt. Dit betekent dat het object in het geheugen blijft zolang er ten minste één sterke verwijzing naar bestaat.

Standaard wordt het gebruikt voor referentietypen (klassen). Het toewijzen van nil aan een variabele met de strong modifier verlaagt de referentieteller. Wanneer de teller op nul staat, wordt het object vrijgegeven uit het geheugen.

Voorbeeld:

class Person {
    var name: String
    init(name: String) {
        self.name = name
        print("\(name) wordt geïnitialiseerd")
    }
    deinit {
        print("\(name) wordt gedeinitialiseerd")
    }
}

var reference1: Person?
var reference2: Person?

reference1 = Person(name: "Alice") // Referentieteller voor Alice: 1
reference2 = reference1           // Referentieteller voor Alice: 2

reference1 = nil                   // Referentieteller voor Alice: 1
reference2 = nil                   // Referentieteller voor Alice: 0, Alice wordt gedeinitialiseerd