AD

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

Ver cursos de Objective-C en Udemy

Enlace de afiliado. No te cuesta nada extra.

🍎Lecciones de Objective-C
Lección 12 / 68

Funciones recursivas

En esta lección escribirás una función que se llama a sí misma.

Hacen falta dos piezas: un caso base que corta la cadena, y una llamada a sí misma con un problema más pequeño.

El código de ejemplo calcula el factorial. El caso base es n <= 1.

Sin caso base, la pila se agota y el programa termina con un fallo de segmentación — un mensaje bastante menos informativo que el de otros lenguajes, porque aquí ya estamos en territorio de C.

Y hay un límite de tipos que conviene conocer: NSInteger son 64 bits en las máquinas actuales, así que el factorial de 21 ya se sale del rango. Objective-C, como C, da la vuelta en silencio y devuelve un número negativo sin ningún aviso. No hay comprobación de desbordamiento como en Swift.

La recursión brilla en lo que es recursivo por naturaleza: recorrer una jerarquía de vistas, un árbol de directorios, un JSON anidado. Para contar hasta un millón, un bucle.

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

🧪 Este sitio no puede compilar ni ejecutar Objective-C 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)