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

Pilas y colas (estructuras de datos básicas)

En esta lección usarás dos formas clásicas de guardar cosas en espera.

Ambas se improvisan con un NSMutableArray. Una pila saca el último con lastObject y removeLastObject; una cola saca el primero con firstObject y removeObjectAtIndex:0.

El código de ejemplo mete dos elementos y saca uno de cada forma.

Fíjate en que consultar y quitar son dos operaciones separadas: lastObject devuelve pero no quita. Es distinto del pop de otros lenguajes, que hace las dos cosas, y olvidar la segunda llamada deja la pila creciendo sin parar.

Una ventaja frente a otros lenguajes: lastObject y firstObject devuelven nil si la colección está vacía en lugar de lanzar una excepción. En cambio removeObjectAtIndex: sí lanza, así que hay que comprobar antes.

Y un detalle de rendimiento real: quitar del principio obliga a desplazar todos los elementos restantes, así que una cola implementada así se vuelve lenta al crecer. Para colas de trabajo, lo que se usa en el mundo de Apple no es esto sino Grand Central Dispatch.

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