Junior — Middle
Pode declarar um encerramento como um atributo de classe?
sobes.tech IA
Resposta da IA
Sim, no iOS (Swift ou Objective-C) pode-se declarar closures como atributos (propriedades) de uma classe. Isto é frequentemente usado para passar callbacks ou lidar com eventos.
Por exemplo, em Swift:
class MyClass {
var completionHandler: (() -> Void)?
func doSomething() {
// Executar alguma tarefa
// ...
// Chamar a closure se estiver definida
completionHandler?()
}
}
let obj = MyClass()
obj.completionHandler = {
print("Tarefa concluída")
}
obj.doSomething()
Esta abordagem permite configurar de forma flexível o comportamento da classe de fora, passando a lógica através de closures.