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

Ampliar una clase con una categoría

En esta lección añadirás un método a una clase que no escribiste tú.

Una categoría se declara como @interface NSString (Nombre) y se implementa igual. A partir de ahí, el método nuevo está disponible en todas las instancias de esa clase.

El código de ejemplo añade un método a NSString y lo usa sobre un literal.

Esto es una de las capacidades más llamativas del lenguaje: puedes ampliar clases del sistema sin heredar de ellas ni envolverlas. Es lo que hacen la mayoría de las bibliotecas de utilidades de Objective-C.

Y tiene un peligro serio que conviene conocer: si dos categorías definen un método con el mismo nombre, cuál gana es impredecible y depende del orden de carga. Peor aún, si tu método coincide con uno que Apple añada en una versión futura, lo sustituyes silenciosamente y rompes el framework. Por eso la convención firme del ecosistema es prefijar los métodos de categoría con unas iniciales propias: xyz_shout en lugar de shout.

Swift resolvió lo mismo con las extensiones, que no tienen este problema porque el compilador detecta los conflictos.

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