Junior — Middle
Peut-on effectuer une dispatch statique des méthodes dans une classe?
sobes.tech IA
Réponse de l'IA
Sur iOS (Objective-C et Swift), la dispatch statique des méthodes est possible pour les méthodes définies comme statiques (méthodes de classe en Objective-C ou static/ class func en Swift). Ces méthodes sont appelées directement par le nom de la classe et sont résolues à la compilation.
Contrairement à la dispatch dynamique (qui est utilisée pour les méthodes d'instance et permet de choisir l'implémentation à l'exécution), la dispatch statique est plus rapide mais moins flexible.
Exemple en Swift:
class MyClass {
static func staticMethod() {
print("Méthode statique")
}
func instanceMethod() {
print("Méthode d'instance")
}
}
MyClass.staticMethod() // appel de la méthode statique
let obj = MyClass()
obj.instanceMethod() // appel de la méthode d'instance
Ainsi, la dispatch statique dans les classes iOS est possible pour les méthodes statiques.