Junior
Wat slaat de variabele precies op wanneer we een object van het type value maken?
sobes.tech AI
Antwoord van AI
Wanneer we een waarde-type object (structuur, enum, tuple in Swift) maken, slaat de variabele een kopie van de gegevens van dat object direct in het geheugen op. Toewijzing of het doorgeven van zo'n object als parameter leidt tot een kopie van de inhoud.
Voorbeelden:
struct Point {
var x: Int
var y: Int
}
var p1 = Point(x: 1, y: 2) // De variabele p1 slaat een kopie van de gegevens op (x=1, y=2)
var p2 = p1 // p2 krijgt een kopie van de gegevens van p1. Het zijn onafhankelijke kopieën.
p1.x = 10 // Alleen p1.x wordt gewijzigd
print(p2.x) // Zal 1 afdrukken, omdat p2 niet is veranderd
Vergelijking met referentietype (klasse):
| Kenmerk | Waarde Type (structuur, enum) | Referentie Type (klasse) |
|---|---|---|
| Wat wordt opgeslagen in de variabele | Kopie van het objectgegevens | Verwijzing naar het object in geheugen |
| Toewijzing / Doorgeven | Kopie van de gegevens | Kopie van de verwijzing (wijst naar hetzelfde object) |
| Wijziging | Beïnvloedt alleen de huidige kopie | Beïnvloedt het object waarnaar de verwijzing wijst (kan andere variabelen beïnvloeden die naar hetzelfde object verwijzen) |