¿Cómo creo una categoría en Xcode 6 o superior?

Quiero crear una categoría en UIColor en mi aplicación usando Xcode 6. Pero lo UIColor es que en Xcode 6 no hay una plantilla de archivo de categoría Objective-C.

¿Hay alguna opción para crear una categoría en Xcode 6?

Ellos no olvidaron. Simplemente lo movieron sin decirle a nadie.

  1. Haga clic en File -> New -> File

  2. Seleccione el Objective-C file en Sources en iOS o Mac OS respectivamente y haga clic en Siguiente

  3. Ahora en File Type: elija Category , Protocol o Extension

PD. En File Name: lo que escriba aquí será la Category , Protocol o Nombre de Extension .

Para crear CategoryBaseClass + CategoryName.m / .h :

  1. Archivo → Nuevo → Archivo … o use ⌘N .
  2. Seleccione el archivo Objective-C .

enter image description here

  1. Escriba el nombre de la categoría, seleccione Tipo de archivo: Categoría y luego seleccione la clase base.

enter image description here

  1. Complete el flujo para crear la categoría.

Aquí hay una demostración visual:

creando un archivo de categoría

Actualización Xcode6-Beta5

La interfaz ahora ha cambiado y es posible agregar una Categoría directamente desde la ventana Nuevo> Archivo.

Ver la respuesta de Unmircea .


Me sorprendí a mí mismo, y creo que debido a Swift olvidaron el viejo Objective-C.

Tienes dos opciones:

  1. Cree una clase Objective-C con el nombre de la categoría, por ejemplo UIView+Powerups , luego cambie manualmente la interfaz para que coincida con la de la categoría. Tenga en cuenta que el fragmento de la interfaz e implementación de la categoría sigue funcionando, por lo que es más fácil: escriba @interface-category y @implementation-category .

  2. Importar desde Xcode 5! Use este comando:

     cp -r /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File\ Templates/Cocoa\ Touch/Objective-C\ category.xctemplate /Applications/Xcode6-Beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File\ Templates/Source/ 

    Cierre y vuelva a abrir Xcode 6 y encontrará “Categoría Objective-C” en el asistente para el nuevo archivo.

No hay una plantilla predefinida para crear categorías en Xcode 6 beta (por el momento), pueden agregar esta opción más adelante. Como un trabajo a tu alrededor, puedes crear una Cocoa Touch Class (no es lo que conozco, pero no de otra manera) llamada UIImage+Additions (ClassName + CategoryName) y anula su interfaz e implementación algo así como

UIImage + Additions.h

 #import  @interface UIImage(Additions) +(void)testMethod; @end 

UIImage + Additions.m

 #import "UIImage+Additions.h" @implementation UIImage (Additions) +(void)testMethod { } @end 

Editar
Esta respuesta se escribió antes de encontrar una forma de crear categorías en la versión beta de Xcode 6. Verifique la respuesta de Unmircea para la forma correcta de crear la categoría

Ampliando la fantástica respuesta de Unmircea a : cómo crear una categoría personalizada para implementar una paleta de UIColor personalizada, puedes crear una categoría.

Una vez que haya creado su categoría (en este ejemplo, es una categoría llamada ColorPalette de la clase UIColor ), tendrá un encabezado y un archivo de implementación.

UIColor + ColorPalette.h

 #import  @interface UIColor (ColorPalette) // Your custom colors + (UIColor *) customRedButtonColor; + (UIColor *) customGreenButtonColor; @end 

UIColor + ColorPalette.m

 #import "UIColor+ColorPalette.h" @implementation UIColor (ColorPalette) // Button Colors + (UIColor *) customRedButtonColor { return [UIColor colorWithRed:178.0/255.0 green:25.0/255.0 blue:0.0/255.0 alpha:1.0]; } + (UIColor *) customGreenButtonColor { return [UIColor colorWithRed:20.0/255.0 green:158.0/255.0 blue:96.0/255.0 alpha:1.0]; } 

Para usar su paleta de colores personalizada, solo importe el encabezado en la clase en la que desea implementar sus colores personalizados:

 #import "UIColor+ColorPalette.h" 

y llame al color como lo haría con un color estándar como redColor , greenColor o blueColor .

Aquí hay un enlace a una discusión un poco más profunda sobre la creación de una paleta personalizada.

Además, aquí hay una herramienta para ayudarlo a seleccionar los valores de color personalizados

Podrías simplemente copiar las plantillas que deseas de una versión anterior de Xcode, hice un script de shell para esto: https://github.com/cDigger/AddMissingTemplates

Puede crear un archivo de “extensión” como NSString + Helper:

 1: File → New → File... or use ⌘N. 2: Name NSString+Helper (For example) 3: create the file 4: Remove the code from file 5: add extension NSString { } 

Hecho. disfruta la encoding

    Intereting Posts