Avatar ·

¿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.