objective-c cocoa protocols categories

¿Puede una categoría implementar un protocolo en Objective C?



objective-c cocoa (1)

Tengo una categoría en NSDate y sería conveniente si pudiera implementar un protocolo que creé previamente. es posible? ¿cuál es la sintaxis correcta para esto?


Sí, eso es posible La sintaxis es:

@interface NSDate (CategoryName) <ProtocolName> @end @implementation NSDate (CategoryName) @end

Aquí está la documentación de Apple sobre el tema.

También es posible hacer esto usando una extensión de clase. Me gusta mucho que se ajuste de forma privada a los protocolos de delegado. Al hacerlo, se oculta el detalle de la implementación de ser un delegado de alguna clase de la interfaz pública y se elimina la dependencia del encabezado.