quería comprobar que esta revisión realmente funciona y no tendrá efectos adversos en mi código:La adopción de un protocolo de una categoría
He creado una biblioteca estática con una cabecera pública MyClass.h, el resto de mi código está todo escondido. MyClass adopta el protocolo MyProtocol, que se define en MyProtocol.h. Quiero mantener MyProtocol.h oculto, pero como MyClass.h es un encabezado público, no puede encontrar MyProtocol.h si intento mantenerlo oculto como encabezado del proyecto. Mi solución:
MyClass.h:
@interface MyClass : NSObject {
//instance variables
}
// methods
@end
MyClass.m:
#import "MyProtocol.h"
@interface MyClass() <MyProtocol>
@end
@implementation MyClass
// implementation
@end
No he visto otros ejemplos de este tipo de cosas está haciendo que no sea aquí: Can a category simultaneously implement a protocol?, y el problema/respuestas terminaron sin relación con la pregunta original. Así que quería estar seguro de que esto realmente funciona como lo hace, y/o ver si hay una mejor manera de lograr lo que estoy tratando de hacer.
Usar una categoría para hacer que una clase se ajuste a un protocolo es legal. –