Home » Trucos » Truco de Swift: extendiendo la funcionalidad de un String
Trucos de Swift

Truco de Swift: extendiendo la funcionalidad de un String

Un nuevo truco para Swift, pequeño artículo rápido para soluciones rápidas. Una de las grandes ventajas de Swift como lenguaje de programación, es que todos los tipos básicos que ya estudiamos en la primera lección, o cualquiera, en realidad forman parte de nuestro programa de igual forma que lo haría una clase creada por nosotros.

Esto quiere decir, que incluso los tipos básicos son modificables o ampliables, en el sentido que podemos modificar o extender su funcionalidad con aquello que queramos como si fueran una clase cualquiera.

Ejemplo con cadenas

Imaginad que tenemos un array de colores.

Y ahora queremos que cada vez que en algún sitio se imprima su nombre, no salga solo el nombre si no una frase introductoria del tipo “Este color es el “. Lo podemos hacer creando una extensión de la clase, que amplia la funcionalidad de un tipo o clase conservando la estructura original. Para este caso, añadiríamos una nueva variable llamada cadenaColor que sería de la siguiente forma:

Ya está. Acabamos de crear una nueva variable dentro del tipo String, que extiende la funcionalidad con una variable calculada llamada cadenaColor. De esta forma, si tenemos una variable de este tipo como la posición 2 del array Colores, solo tenemos que hacer:

Con esta extensión, automáticamente podremos usar la variable cadenaColor en todos los String. El resultado que veremos en pantalla será: Este color es el VERDE. En resumen: la suma de la cadena más la referencia self que es la cadena en sí que contiene el tipo.

Pero, como en el array están todos los valores en mayúsculas, queda feo, y queremos que aparezca en minúscula. Solo tendremos que modificar nuestra extension de la siguiente forma, llamando al método lowercaseString que ya tiene implementado el tipo String.

Ahora el resultado será: Este color es el verde. Nos hemos permitido el lujo de poner incluso un punto final que antes no estaba.

Y esto es solo la punta del iceberg extendiendo un simple String. Las extensiones permiten añadir propiedades calculadas (como lo que hemos hecho), permiten definir métodos de instancias o de tipos, definir subscripts, definir o usar nuevos tipos anidados, incorporar nuevos inicializadores… en su momento lo veremos en una lección completa, pero mientras damos este pequeño e interesante adelanto en forma de truco.

Otro ejemplo:

Lo que veremos en el terminal será:

Así de simple y efectivo. Espero que os sea de utilidad este pequeño truco o funcionalidad y nos vemos en la próxima entrega. Y recordad: Good Apple Coding.

Acerca de Julio César Fernández

Analista, consultor y periodista tecnológico, desarrollador, empresario, productor audiovisual, actor de doblaje e ingeniero de vídeo y audio.

Otras recomendaciones

Stocks Apps

Cómo se borran las apps preinstaladas en iOS 10 (o no)

Todos lo hemos querido alguna vez: borrar algunas de las apps preinstaladas en iOS. En iOS 10 se podrá, pero no exactamente. Te explicamos qué hace el sistema para quitarlas y el proceso de restauración posterior (si queremos recuperarlas). Igualmente, te decimos cuáles son las que puedes quitar y la explicación técnica del método elegido por Apple.