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

Conversión de tipos

En esta lección convertirás valores de un tipo a otro.

integerValue saca un entero de un NSString o de un NSNumber, y stringWithFormat: construye un texto a partir de un número.

El código de ejemplo convierte en las dos direcciones.

Lo importante es qué ocurre cuando la conversión no es posible: [@"abc" integerValue] devuelve 0 sin ningún aviso, exactamente igual que [@"0" integerValue]. No hay forma de distinguir «no era un número» de «era cero». Con datos de un formulario eso significa que una entrada inválida se convierte silenciosamente en cero.

Cuando el dato viene de fuera, la opción correcta es NSNumberFormatter con numberFromString:, que devuelve nil si el texto no es un número — y que además entiende el formato del país, incluida la coma decimal del español.

Y hay que distinguir dos conversiones distintas: la de C entre tipos numéricos, que se escribe (long)valor, y la de objetos con id, que no comprueba nada en tiempo de compilación y produce «unrecognized selector» al ejecutar si te equivocas.

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