Sobes.tech
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:

  1. Klase (Classes): Instanci klasa su tipovi referenci. Kada se instanca klase dodeli promenljivoj ili konstantu, kopira se referenca na objekat, a ne sam objekat.
  2. Closures (Zatvaranja): Hvatanje promenljivih u zatvaranju se vrši po referenci.
  3. Aktor (Actors): Instanci aktora su takođe tipovi referenci.
  4. Neki sistemski tipovi: Na primer, AnyObject, NSObject i tipovi iz seta Core Foundation (kao što je CFString).
  5. 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.