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 ?
Réponse
Trop de publicités?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.