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.