Uso de categoría en Objective-C

Cuando los métodos y la implementación de una clase están demasiado inflados o desea agregar más métodos de la clase original, puede crear uno o más archivos de categorías según las necesidades reales, el propósito es facilitar la administración y el mantenimiento del código, y para agregar nuevos métodos a la clase existente Método de extensión de clase.

Cómo crear una categoría:

Cree un nuevo archivo en Xcode, seleccione el archivo Object-C, seleccione la categoría para el tipo de archivo, seleccione la categoría de la clase que desea escribir para Clase y luego haga clic en Crear.

Después de la creación, se muestra el siguiente estilo de sintaxis:

@interface NSObject (test)

@end

Limitaciones de categoría:

1. La categoría solo puede agregar métodos, no atributos. Todos los atributos p@property declarados en la categoría no se generarán ni implementarán automáticamente.

2. En la implementación de la clasificación, no se puede acceder a las propiedades privadas de esta clase, pero se pueden operar mediante los métodos geter y setter.

3. Cuando aparezca en la clasificación un método con el mismo nombre que esta clase, el método de esta clase será llamado de forma limitada. Cuando varias categorías tienen el mismo método, el sistema llama de forma predeterminada al método en la última categoría compilada.

escenarios de uso de categorías

1. Cuando una clase tiene muchos métodos y el código está inflado, puede usar la clasificación para escribir métodos con funciones similares en la misma clasificación para facilitar la administración y el mantenimiento.

2. Expanda los métodos para las clases existentes.

3. Cuando utilice la clasificación de categorías, debe #importar el archivo de encabezado de categoría.

La diferencia entre categoría y herencia:

No hay ninguna clase recién creada en la categoría, y los objetos de esta clase todavía llaman y utilizan los métodos de la categoría.

La herencia consiste en crear una nueva subclase, y la herencia no solo puede agregar sus propios métodos, sino también agregar atributos.

Supongo que te gusta

Origin blog.csdn.net/JustinZYP/article/details/124170660
Recomendado
Clasificación