Junior — Middle
É possível realizar a dispatch estática de métodos numa classe?
sobes.tech IA
Resposta da IA
No iOS (Objective-C e Swift), a despacho estática de métodos é possível para métodos definidos como estáticos (métodos de classe em Objective-C ou static/ class func em Swift). Esses métodos são chamados diretamente pelo nome da classe e resolvidos em tempo de compilação.
Ao contrário da despacho dinâmica (que é usada para métodos de instância e permite escolher a implementação em tempo de execução), a despacho estática é mais rápida, mas menos flexível.
Exemplo em Swift:
class MyClass {
static func staticMethod() {
print("Método estático")
}
func instanceMethod() {
print("Método de instância")
}
}
MyClass.staticMethod() // chamada do método estático
let obj = MyClass()
obj.instanceMethod() // chamada do método de instância
Assim, a despacho estática em classes iOS é possível para métodos estáticos.