Sobes.tech
Junior

Milyen adattípusokkal lehet hivatkozásokat használni Swiftben?

sobes.tech MI

Válasz az MI-től

Swiftben a hivatkozások (címek) a következő esetekben használatosak:

  1. Osztályok (Classes): Az osztálypéldányok referenciatípusok. Amikor egy osztálypéldányt változóhoz vagy konstanshoz rendelünk, akkor a referencia másolódik az objektumra, nem maga az objektum.
  2. Closures (Zárványok): A változók elfogása zárványban referencia szerint történik.
  3. Színészek (Actors): Az aktor példányok szintén referenciatípusok.
  4. Néhány rendszer típus: Például, AnyObject, NSObject és a Core Foundation készlet típusai (például CFString).
  5. Bemeneti/kimeneti paraméterek (inout): Lehetővé teszik, hogy változókat referencia szerint adjunk át egy függvénynek, így a függvény módosíthatja azok értékét.
// Osztály példával
class MyClass {
    var value = 10
}

let instance1 = MyClass()
let instance2 = instance1 // instance2 ugyanarra az objektumra hivatkozik
instance2.value = 20
print(instance1.value) // Kiírja 20-at

// inout példával
func modifyValue(value: inout Int) {
    value = value * 2
}

var myInt = 5
modifyValue(value: &myInt)
print(myInt) // Kiírja 10-et

A struktúrák, enumerációk és tuple-ök értéktípusok, és átadáskor azok tartalma másolódik, nem a referencia.