Junior — Middle
Kako se čuva vrednost tipa value kada se uhvati u closure?
sobes.tech АИ
Одговор од АИ
U Swift-u, kada uhvatimo vrednost tipa value (npr. strukturu ili primitivne tipove) u zatvaranju (closure), kreira se kopija te vrednosti. To znači da zatvaranje čuva sopstvenu kopiju promenljive, i promene spoljašnje promenljive nakon kreiranja zatvaranja neće uticati na vrednost unutar zatvaranja.
Primer:
var x = 10
let closure = { print(x) }
x = 20
closure() // Ispisaće 10, jer je uhvaćena vrednost, a ne referenca
Na ovaj način, vrednost tipa value se čuva u zatvaranju kao kopija u trenutku kreiranja.