Junior — Middle
¿Puedes explicar el concepto de delegación en los patrones de diseño y cómo se aplica?
sobes.tech AI
Respuesta de la IA
El delegar es un patrón de diseño en el que un objeto pasa la ejecución de una tarea específica a otro objeto, llamado delegado. Esto permite dividir responsabilidades y aumentar la flexibilidad del código.
En iOS, la delegación se usa a menudo para transmitir eventos o datos entre objetos. Por ejemplo, UITableView usa un delegado para manejar la selección de celdas o la configuración de la apariencia.
Ejemplo en Swift:
protocol MyDelegate: AnyObject {
func didFinishTask()
}
class Worker {
weak var delegate: MyDelegate?
func startTask() {
// Ejecutar tarea
// ...
delegate?.didFinishTask()
}
}
class Manager: MyDelegate {
func didFinishTask() {
print("Tarea completada")
}
}
let worker = Worker()
let manager = Manager()
worker.delegate = manager
worker.startTask()
Aquí, el objeto Worker delega la notificación de la finalización de la tarea al objeto Manager.