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

Crear errores en Swift con más información

Truco: crear errores en Swift con más información

Vemos un fácil truco para usar el protocolo Error más ayuda de enumeraciones y obtener con ello la posibilidad de conseguir errores con más información. Un tutorial para aquellos que trabajan en el día a día con Swift pero quieren sacar algo más del lenguaje, en este caso con la gestión de errores.