Sobes.tech
Junior — Middle

¿Se puede declarar un cierre como un atributo de clase?

sobes.tech AI

Respuesta de la IA

Sí, en iOS (Swift o Objective-C) se pueden declarar closures como atributos (propiedades) de una clase. Esto se usa a menudo para pasar callbacks o manejar eventos.

Por ejemplo, en Swift:

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

    func doSomething() {
        // Realizar alguna tarea
        // ...
        // Llamar a la closure si está definida
        completionHandler?()
    }
}

let obj = MyClass()
obj.completionHandler = {
    print("Tarea completada")
}
obj.doSomething()

Este enfoque permite configurar de manera flexible el comportamiento de la clase desde fuera, pasando la lógica a través de closures.