Sobes.tech
Junior — Middle

Peut-on déclarer une fermeture en tant qu'attribut de classe?

sobes.tech IA

Réponse de l'IA

Oui, en iOS (Swift ou Objective-C), il est possible de déclarer des closures en tant qu'attributs (propriétés) d'une classe. Cela est souvent utilisé pour passer des callbacks ou gérer des événements.

Par exemple, en Swift :

class MyClass {
    var completionHandler: (() -> Void)?

    func doSomething() {
        // Effectuer une tâche
        // ...
        // Appeler la closure si elle est définie
        completionHandler?()
    }
}

let obj = MyClass()
obj.completionHandler = {
    print("Tâche terminée")
}
obj.doSomething()

Cette approche permet de configurer de manière flexible le comportement de la classe depuis l'extérieur, en passant la logique via des closures.