¿Por qué deberías elegir una struct en lugar de una class en Swift?
¡Hola a todos! Acabo de empezar a aprender Swift y me atormenta una pregunta. Veo que en Swift hay tanto clases (class) como estructuras (struct). A primera vista, son muy similares: en ambas se pueden crear propiedades, métodos e inicializadores. Pero en todas partes escriben que las estructuras son "value types" (tipos por valor) y las clases son "reference types" (tipos por referencia). No termino de entender qué significa esto en la práctica.
Escribí un ejemplo simple. Creé una clase `CarClass` y una estructura `CarStruct` con una propiedad `model`. Luego asigné la instancia de la clase a una nueva variable y cambié el modelo en la "copia". ¡El modelo también cambió en el objeto original! Pero con la estructura no ocurrió eso. Aquí está el código:
```swift
class CarClass {
var model = "Tesla"
}
struct CarStruct {
var model = "Tesla"
}
let car1 = CarClass()
let car2 = car1 // Esto no es una copia, sino una referencia al mismo objeto
car2.model = "BMW"
print(car1.model) // Imprime "BMW" — ¡el original cambió!
let structCar1 = CarStruct()
var structCar2 = structCar1