Qual é a diferença entre funções/propriedades static e class em Swift?
Olá a todos! Estou aprendendo Swift e não consigo entender a diferença entre as palavras-chave `static` e `class` quando declaramos funções ou propriedades dentro de uma classe. Na documentação diz que ambas se referem ao próprio tipo, não à instância, mas qual é a diferença então?
Por exemplo, eu tenho este código:
```swift
class MyClass {
static var staticProperty = "Propriedade estática"
class var classProperty: String {
return "Propriedade de classe"
}
static func staticMethod() {
print("Método estático")
}
class func classMethod() {
print("Método de classe")
}
}
```
Eu vejo que tanto `static` quanto `class` permitem chamar métodos sem criar uma instância da classe: `MyClass.staticMethod()` e `MyClass.classMethod()`. Mas por que existem duas palavras-chave diferentes? Em quais casos devo usar `static` e em quais devo usar `class`?
O que me confunde especialmente é que em structs e enums só podemos usar `static`, mas em class
No answers yet.
Faça login para deixar uma resposta