dump() vs print()

Adolfo
2 min readOct 11, 2016

--

En algún momento de nuestros desarrollos echamos mano de la función print() para sacar en la consola de depuración algún tipo de mensaje o valor de alguna variable.

Pero hoy vamos a ver que la Librería Estándar de Swift nos proporciona una función mejor, mucho mejor. Estoy hablando de dump()

Vale ¿pero qué hace dump?

Pues según la documentación de Apple la función dump…

Dumps an object’s contents using its mirror to standard output

Para entendernos, que todo lo que contiene el tipo que se pasa como parámetro se saca por la salida estándar. Por “todo lo que contiene” me refiero a variables, constantes…

¿Entonces cambio print por dump para siempre?

No, tampoco es eso. Si lo que quieres es saber si has pasado por tal o cual rama de tu algoritmo o conocer el valor de una variable print sigue siendo una función estupenda.

Ahora bien, si lo que necesitas es conocer el estado de una clase en un momento determinado dump va a ser tu nuevo mejor amigo.

Mejor enséñame un ejemplo

Vamos a usar una clase que representa a un equipo. La clase contiene dos variables donde se almacenan el nombre y la hora a la que se han creado.

Tras crear una variable de tipo Team vamos usar print y dump para ver la diferencia.

Como se puede ver print se limita a mostrar el nombre del tipo mientras que dump muestra además el contenido.

¡Qué cutre! Yo uso puntos de ruptura.

Claro que sí, y te animo a que los sigas usando, yo también lo hago, pero créeme, cuando estás desarrollando procesos que pueden duras horas (y muchas, muchas horas) estas dos funciones van a ser tus mejores amigos.

--

--

Adolfo

Me gusta leer, las camisetas y las zapatillas de deporte // iOS Software Designer @ Globant // Creador de MoveMAD, Ambiently, Shelves y alguna cosa más