Estoy escribiendo mi primera aplicación para iPhone, y he estado explorando los patrones de diseño en Cocoa Touch y Objective-C. Vengo de un entorno de desarrollo web del lado del cliente, así que estoy tratando de entender a los delegados.Delegados vs. eventos en Cocoa Touch
Específicamente, no veo por qué se necesitan objetos delegados en lugar de manejadores de eventos. Por ejemplo, cuando el usuario presiona un botón, se maneja con un evento (UITouchUpInside
), pero cuando el usuario termina de ingresar a un cuadro de texto y lo cierra con el botón 'Listo', la acción se maneja llamando a un método en el delegado del cuadro de texto (textFieldShouldReturn
).
¿Por qué utilizar un método delegado en lugar de un evento? También veo esto en el controlador de vista con el método viewDidLoad
. ¿Por qué no usar eventos?