Sobes.tech
Junior

Cu ce tipuri de date se pot folosi referințe în Swift?

sobes.tech AI

Răspuns de la AI

În Swift, referințele (la adrese) sunt utilizate cu:

  1. Clase (Classes): Instanțele de clase sunt tipuri de referință. Când o instanță de clasă este atribuită unei variabile sau constante, se copiază referința la obiect, nu obiectul în sine.
  2. Closures (Închideri): Capturarea variabilelor într-un closure se face prin referință.
  3. Actori (Actors): Instanțele de actori sunt, de asemenea, tipuri de referință.
  4. Unele tipuri de sistem: De exemplu, AnyObject, NSObject și tipuri din setul Core Foundation (cum ar fi CFString).
  5. Parametri de intrare/ieșire (inout): Permite transmiterea variabilelor către o funcție prin referință, astfel încât funcția să le poată modifica valoarea.
// Exemplu cu clasă
class MyClass {
    var value = 10
}

let instance1 = MyClass()
let instance2 = instance1 // instance2 face referire la același obiect
instance2.value = 20
print(instance1.value) // Va afișa 20

// Exemplu cu inout
func modifyValue(value: inout Int) {
    value = value * 2
}

var myInt = 5
modifyValue(value: &myInt)
print(myInt) // Va afișa 10

Structurile, enumerările și tuple-urile sunt tipuri de valoare, iar la atribuiri sau transmitere, conținutul lor este copiat, nu referința.