¿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