¿Qué son los bloques en Objective C?
Una de las grandes mejoras que se han hecho a Objective C, junto a ARC, son los bloques. Bueno, en realidad, los bloques NO se han añadido no a Objective C, sino a C, pero no nos pongamos pijoteros….
Los bloques en realidad son algo ya bastante antiguo, inventado (como no) en Lisp. Se trata de una función de primer nivel, que captura el entorno léxico en el que ha sido creado. Si esto te ha sonado a 中国的, ¡no desesperes! El Curso Intermedio de Programación iOS Online está a punto de salir y explica todo esto en detalle.
Si se trata de una función, ¿por qué puñetas se le ha llamado “bloque”? ¡Buena pregunta, joven padawan! Se debe a que el “Alma Mater” de Objective C es Smalltalk. Smalltalk es en lo que se transmuta Lisp cuando desciende a la Tierra y se adapta a los mortales.
Pues bien, en Smalltalk, ese concepto se llama bloque, ¡y se representa entre corchetes! 😉
Con los bloques se pueden hacer auténticas maravillas, desde concurrencia para seres humanos con GCD, crear DSLs en Objective C (véase Kiwi), gestión de recursos sin fallos, eliminar delegados, etc…
La puta sintaxis de los bloques en Objective C
Ahora bien, ¿a quién en su sano juicio se le ocurre una sintaxis tan endemoniada para los bloques?
¿La puta sintaxis de los bloques en Objective C te quita las ganas de vivir y te lleva al alcoholismo? NO estás solo.
Pero hay esperanza.
www.PutaSintaxisDeBloques.com
Añádelo a tus favoritos y deja de sufrir.
Cuando salga el Curso Intermedio de Programación iOS Online, publicaremos otros sitios indispensables como éste.