Cargar una UIImage en un Playground de Swift

Autor: | Última modificación: 27 de octubre de 2022 | Tiempo de Lectura: 1 minutos
Temas en este post:

Durante la demo de Swift en el WWDC, se mostró un playground que cargaba imágenes, vistas y la repanocha en verso. Sin embargo, no estaba del todo claro cómo hacerlo.

El cargar la imagen mediante la url que te da el Main Bundle, no terminaba de funcionar (en las betas de Xcode) y daba un error de BAD_ACCESS.

En estos tiempos de Xcode GM, esas penurias parecen ser cosa del pasado y tenemos dos formas de cargar imágenes en un Playground:

  • Con una NSURL absoluta.
  • Accediendo a la carpeta de recursos del Playground.

Cargar una imagen en un playground con una URL absoluta

Es la técnica de siempre: le pedimos al main bundle que nos de la URL absoluta del recurso y creamos la imagen con ella.

var imageUrl = NSBundle.mainBundle().URLForResource("Darth_Vader", withExtension: "jpg")
var imgString = imageUrl?.path
var img = UIImage(contentsOfFile: imgString!)

 Cargar una imagen desde la carpeta de recursos del playground

Los playgrounds son en realidad un bundle (una carpeta que se hace pasar por un fichero) que contiene a varios ficheros. Dentro de dicho bundle hay una carpeta de recursos. Para localizarla, tenemos que abrir el inspector de fichero del Playgound en Interface Builder y veremos un enlace a la carpeta de recursos. Haz clic y te abrirá la carpeta en el Finder. Pon la imagen, y estás listo.

// Como ya está en el playground, ya la puedo cargar
// sin más.
var vaderImage = UIImage(named: "Darth_Vader.jpg")

Mostrar la imagen en el Playground

Para ver la imagen en el playground de swift, basta con que le des al inspector (el icono que parece un ojo) y ¡listo!

Screen Shot - UIImage en un Playground de swift