¿Por qué deberías elegir una estructura en lugar de una clase en Swift?
¡Hola a todos! Acabo de empezar a aprender Swift y tengo una confusión. Entiendo que tanto las estructuras (struct) como las clases (class) pueden tener propiedades y métodos. Parece que la única diferencia es que las estructuras son tipos de valor (value types) y las clases son tipos de referencia (reference types). Pero en la práctica no entiendo completamente cuándo usar cada uno.
Aquí hay un ejemplo. Estoy escribiendo una aplicación simple de notas. Creé una clase Note:
```swift
class Note {
var title: String
var content: String
init(title: String, content: String) {
self.title = title
self.content = content
}
}
var note1 = Note(title: "Compras", content: "Comprar leche")
var note2 = note1
note2.title = "Asuntos urgentes"
print(note1.title) // Imprime "Asuntos urgentes" — ¡no esperaba esto!
```
Pensé que estaba creando una copia, pero resultó que ambas variables hacen referencia al mismo objeto. Debido a esto, los datos cambian en lugares inesperados. Si reemplazo `class` por `struct`, la copia funcionará correctamente.
No answers yet.
Inicia sesión para dejar una respuesta