86 votes

Peut une catégorie implémentent un protocole en Objective C ?

J’ai une catégorie sur NSDate et il serait commode s’il pouvait implémente un protocole que j’ai créé précédemment. Est-ce possible ? Quelle est la syntaxe correcte pour cela ?

142voto

Nikolai Ruhe Points 45433

Oui, c'est possible. La syntaxe est la suivante:

@interface NSDate (CategoryName) <ProtocolName>
@end

@implementation NSDate (CategoryName)
@end

Voici la documentation d'Apple sur le sujet.

Il est également possible de le faire à l'aide d'une extension de classe. J'aime beaucoup ce privé à se conformer à déléguer des protocoles. Ce faisant cache le détail de l'implémentation de certains délégués de classe à partir de l'interface publique et supprime la dépendance de l'en-tête.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X