AD

¿Ya dominas lo básico? Un curso estructurado de Swift es la vía rápida para dar el salto.

Ver cursos de Swift en Udemy

Enlace de afiliado. No te cuesta nada extra.

🐦Lecciones de Swift
Lección 50 / 68

Limpieza con defer

En esta lección ejecutarás código de limpieza al salir de una función, salga como salga.

Un bloque defer se ejecuta siempre al abandonar el ámbito: al llegar al final, al salir con return o al propagarse un error.

El código de ejemplo divide dos veces y deja ver que el mensaje de cierre aparece en ambos casos.

Lo característico de defer frente al finally de otros lenguajes es dónde se escribe: justo al lado de lo que hay que limpiar, no al final de la función. Abres un archivo y en la línea siguiente escribes el defer que lo cierra. Así, por muchos caminos de salida que haya, es imposible olvidarse.

Dos reglas que evitan sorpresas: si hay varios defer, se ejecutan en orden inverso al de declaración, como una pila; y un defer que nunca se llega a declarar —porque saliste antes— no se ejecuta. Por eso conviene colocarlo inmediatamente después de adquirir el recurso.

En proyectos reales se usa para liberar bloqueos, cerrar archivos y conexiones, y detener indicadores de carga en la interfaz.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Swift directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)