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 38 / 68

Acelerar cálculos con memoización

En esta lección guardarás resultados ya calculados para no repetir el trabajo.

Se lleva un diccionario donde la clave es la entrada y el valor el resultado. Antes de calcular se consulta con if let; si está, se devuelve directamente.

El código de ejemplo llama tres veces con dos valores distintos, y los mensajes dejan ver cuándo calcula y cuándo recuerda.

Ese if let cached = cache[n] es el patrón habitual en Swift: acceder a un diccionario devuelve un opcional, y if let comprueba y desempaqueta en el mismo gesto. Es más limpio que preguntar primero si la clave existe y volver a acceder después.

Dos cosas que vigilar. La memoria: una caché que nunca se vacía crece sin límite. Y la corrección: si el resultado depende de algo que puede cambiar, el valor guardado se queda obsoleto. Solo es seguro memoizar funciones que dan siempre el mismo resultado para la misma entrada.

En aplicaciones de iOS, para cachés con límite automático existe NSCache, que además libera memoria por su cuenta cuando el sistema lo necesita.

📖 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)