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