Junior
Sa kojim tipovima podataka se mogu koristiti reference u Swift-u?
sobes.tech АИ
Одговор од АИ
U Swift-u se reference (pre adresu) koriste u sledećim slučajevima:
- Klase (Classes): Instanci klasa su tipovi referenci. Kada se instanca klase dodeli promenljivoj ili konstantu, kopira se referenca na objekat, a ne sam objekat.
- Closures (Zatvaranja): Hvatanje promenljivih u zatvaranju se vrši po referenci.
- Aktor (Actors): Instanci aktora su takođe tipovi referenci.
- Neki sistemski tipovi: Na primer,
AnyObject,NSObjecti tipovi iz seta Core Foundation (kao što jeCFString). - Ulazni/izlazni parametri (
inout): Omogućavaju prosleđivanje promenljivih funkciji po referenci, tako da funkcija može da promeni njihovu vrednost.
// Primer sa klasom
class MyClass {
var value = 10
}
let instance1 = MyClass()
let instance2 = instance1 // instance2 referiše na isti objekat
instance2.value = 20
print(instance1.value) // Ispisaće 20
// Primer sa inout
func modifyValue(value: inout Int) {
value = value * 2
}
var myInt = 5
modifyValue(value: &myInt)
print(myInt) // Ispisaće 10
Strukture, enumeracije i tuple su tipovi-vrednosti, i pri dodeljivanju ili prosleđivanju, njihov sadržaj se kopira, a ne referenca.