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

Devolver varios valores (NSDictionary)

En esta lección devolverás dos resultados de una misma función.

Una función devuelve un solo valor, así que para varios se devuelve un NSDictionary con nombres, y quien lo recibe accede con corchetes.

El código de ejemplo obtiene el mínimo y el máximo de un array en una sola llamada.

Fíjate en valueForKeyPath:@"@min.self". Es un operador de colección de KVC: calcula el mínimo de todos los elementos sin escribir ningún bucle. Existen también @max, @sum, @avg y @count. El .self del final indica que se opere sobre los propios elementos y no sobre una propiedad suya.

Esas cadenas son código, no texto: están escritas en un lenguaje pequeño que Foundation interpreta en tiempo de ejecución. Una errata dentro de ellas no la detecta el compilador y produce una excepción al ejecutar. Por eso, aunque son muy expresivas, conviene usarlas con cuidado.

El inconveniente del diccionario como valor de vuelta es el mismo: las claves no se comprueban. En código real se prefiere una clase pequeña con dos propiedades, o parámetros de salida al estilo de NSError.

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