En los primeros workshops de iOS tratamos el tema de las closures. Si recordamos, una closure, también denominada función de cierre, era como un bloque de Objective-C o C, en la que una función en vez de comenzar con la palabra reservada func incorpora unas llaves { }:
{ (parámetros) -> tipo de retorno in declaración del bloque }
En este workshop entramos en detalle con genéricos y operadores. Respecto a los genéricos, éstos sirven para definir código de una forma más abstracta, sin depender de un tipo en concreto para que el mismo código pueda aplicarse luego a distintos tipos siempre que sigan una serie de reglas, o restricciones, como un protocolo.
El propio módulo de foundation define estructuras como el array o el diccionario que hacen un uso extensivo de generics y eso les permite almacenar colecciones de cualquier tipo. Incluso, ese es quizás el uso más habitual de los generics.
Y en cuanto a los operadores, son símbolos que se usan para trabajar como valores. Se pueden usar para realizar manipulaciones matemáticas o lógicas específicas, pero también pueden servir para comparar números, juntar textos,… Es decir puedes definir operadores que hagan lo que quieran. E incluso, aunque Objective-C cuenta con una gran cantidad de operadores, te puedes crear operadores nuevos que aún no existen en el lenguaje.
Si quieres conocer más sobre estos aspectos, nuestro ingeniero Alberto Irurueta nos enseñó ese workshop de “Closures, generics & operators“:
Puedes descargar su presentación aquí.