Sobes.tech
Junior

¿Con qué tipos de datos se pueden usar referencias en Swift?

sobes.tech AI

Respuesta de la IA

En Swift, las referencias (a direcciones) se utilizan con:

  1. Clases (Classes): Los ejemplares de clases son tipos de referencia. Cuando se asigna una instancia de clase a una variable o constante, se copia la referencia al objeto, no el objeto en sí.
  2. Closures (Cierres): La captura de variables en un cierre se realiza por referencia.
  3. Actores (Actors): Las instancias de actores también son tipos de referencia.
  4. Algunos tipos del sistema: Por ejemplo, AnyObject, NSObject y tipos del conjunto Core Foundation (como CFString).
  5. Parámetros de entrada/salida (inout): Permiten pasar variables a una función por referencia, para que la función pueda modificar su valor.
// Ejemplo con clase
class MyClass {
    var value = 10
}

let instance1 = MyClass()
let instance2 = instance1 // instance2 referencia al mismo objeto
instance2.value = 20
print(instance1.value) // Mostrará 20

// Ejemplo con inout
func modifyValue(value: inout Int) {
    value = value * 2
}

var myInt = 5
modifyValue(value: &myInt)
print(myInt) // Mostrará 10

Las estructuras, enumeraciones y tuplas son tipos de valor, y al asignar o pasar, se copia su contenido, no la referencia.