Sobes.tech
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.