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

Ordenar un array

En esta lección pondrás los elementos de un array en orden.

sortedArrayUsingSelector: devuelve una copia ordenada. El selector indica qué método usar para comparar; compare: es el que implementan los tipos básicos de Foundation.

El código de ejemplo ordena unos números de menor a mayor.

@selector(compare:) es una forma de referirse a un método por su nombre, para pasarlo como dato. Los dos puntos forman parte del nombre: el método se llama literalmente compare:. Es el mecanismo con el que el lenguaje resuelve las llamadas en tiempo de ejecución.

Lo importante es que el nombre no se comprueba al compilar. Una errata en el selector compila sin problema y lanza «unrecognized selector sent to instance» al ejecutar. Es el precio de la flexibilidad, y la razón de que en Objective-C se prueben más cosas ejecutándolas.

Para criterios propios existe sortedArrayUsingComparator:, que recibe un bloque. Y ten en cuenta que el resultado es un NSArray nuevo: el original no se toca.

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