Junior — Middle
Hoe wordt de waarde van het type value behouden bij het vastleggen in een closure?
sobes.tech AI
Antwoord van AI
In Swift, wanneer een waarde van het type value (bijvoorbeeld een struct of primitieve types) wordt vastgelegd in een closure, wordt er een kopie van die waarde gemaakt. Dit betekent dat de closure een eigen kopie van de variabele opslaat, en dat wijzigingen in de externe variabele na het maken van de closure geen invloed hebben op de waarde binnen de closure.
Voorbeeld:
var x = 10
let closure = { print(x) }
x = 20
closure() // Zal 10 afdrukken, omdat de waarde wordt vastgelegd, niet de referentie
Op deze manier wordt de waarde van het type value opgeslagen in de closure als een kopie op het moment van creatie.