Avatar ·

¿Cuál es la diferencia entre funciones/propiedades static y class en Swift?

¡Hola a todos! Estoy aprendiendo Swift y no puedo entender la diferencia entre las palabras clave `static` y `class` cuando declaramos funciones o propiedades dentro de una clase. En la documentación dice que ambas se refieren al tipo en sí, no a la instancia, pero ¿cuál es la diferencia entonces? Por ejemplo, tengo este código: ```swift class MyClass { static var staticProperty = "Propiedad estática" class var classProperty: String { return "Propiedad de clase" } static func staticMethod() { print("Método estático") } class func classMethod() { print("Método de clase") } } ``` Veo que tanto `static` como `class` permiten llamar a métodos sin crear una instancia de la clase: `MyClass.staticMethod()` y `MyClass.classMethod()`. Pero entonces, ¿por qué existen dos palabras clave diferentes? ¿En qué casos se debe usar `static` y en cuáles `class`? Me confunde especialmente que en estructuras y enumeraciones solo se puede usar `static`, mientras que en clas