En este vídeo que hice para el Canal de Youtube Init puedes ver el ejemplo del patrón del delegado en Swift. También te animo a que me sigas en Youtube en mi Canal iOS Developer by CarlosZR.
1. El Patrón del Delegado es uno de los más usados en iOS. Debemos de saberlo perfectamente
Vamos a ver ejemplos de patrón del delegado. Un patrón de arquitectura es un conjunto de prácticas que se utilizan para resolver un problema, generalmente recurrente. Se establecen ciertas convenciones para solucionarlo. Tal vez el patrón de arquitectura más conocido es el patrón MVC (Modelo Vista Controlador).
La vista se comunica con el controlador mediante dos mecanismos: Target Action y el Patrón del delegado.
En este artículo vamos a ver un sencillo pero instructivo ejemplo del patrón del delegado.
También es conveniente recordar que hay dos tipos de protocolos: delegate y datasource.
Delegate: suele contener métodos que se refieren a cómo funciona ese objeto, sus características, cómo se tiene que ver, cómo se tiene que comportar,…
Datasource: va sobre los datos que tiene que cargar
2. Ejemplo con protocolo estándar
Hay dos protagonistas que debemos tener claros: la clase y el protocolo. La clase se va a ajustar al protocolo que le indiquemos. En este vaso va a ser un protocolo ya existente. Al ajustar la clase a un protocolo, es la clase quien va a ayudar al objeto, del cual es el delegado.
La forma en la que esto se realiza con Swift es mu sencilla. Simplemente se pone una «,» después del tipo de objeto que es la clase. Lo puedes ver en la siguiente imagen.

Ahora podemos implementar métodos dentro de esta clase que antes no tenía para «ayudar» a nuestro TextField.
En la siguiente imagen podemos ver cómo implementamos un método para esconder el teclado al pulsar la tecla «Intro». Antes de implementar el patrón del delegado no disponíamos de dicho método.
Como vemos en la siguiente imagen, hay que decirle al ViewController que es el delegado de este protocolo.
self.textfield.delegate = self

En la práctica ocurre lo siguiente, existe un campo de texto sobre el que pulsamos y se abre el teclado para que podamos escribir. Hasta aquí todo normal, pero si pulsamos en otro sitio el teclado se sigue mostrando. Con la implementación del método textFieldShouldReturn, al pulsar intro el teclado se cierra.
3. Ejemplo de Patrón de Delegado con protocolo custom
En este ejemplo de patrón del delegado vamos a ver cómo crear e implementar nuestro propio protocolo. (Próximamente).
4. ¿Quieres aprender a crear apps para iOS?
Si te quieres ganar la vida como programador no dudes en contactarme.
Deja una respuesta