Junior — Middle
¿Cuál es el papel de los delegados en su código y para qué se utilizan?
sobes.tech AI
Respuesta de la IA
Los delegados en iOS son un patrón de diseño que permite a un objeto transferir la responsabilidad de realizar ciertas acciones a otro objeto. Es una forma de organizar la retroalimentación y la comunicación entre objetos sin una fuerte dependencia.
Rol de los delegados:
- Permiten que un objeto notifique a otro sobre eventos.
- Proporcionan personalización del comportamiento sin herencia.
- Simplifican la división de responsabilidades.
Ejemplo: UITableView usa un delegado para manejar la selección de celdas. La clase que implementa el protocolo UITableViewDelegate recibe notificaciones sobre las acciones del usuario.
protocol MyDelegate: AnyObject {
func didTapButton()
}
class MyClass {
weak var delegate: MyDelegate?
func buttonTapped() {
delegate?.didTapButton()
}
}
class ViewController: UIViewController, MyDelegate {
let myObject = MyClass()
override func viewDidLoad() {
super.viewDidLoad()
myObject.delegate = self
}
func didTapButton() {
print("Botón pulsado")
}
}