2010-01-11 5 views
11

Bien que les dernières versions de Doxygen claim better handling of Objective-C categories, il semble encore s'étouffer sur les catégories dans mon code source. Je me demande si quelqu'un l'a bien compris dans les catégories de documents.Catégories Doxygen et Objective-C

À titre d'exemple, j'ai une catégorie sur NSString définie comme:

@interface NSString (CCFExtensions) 

avec un fichier d'interface nommée NSString_CCFExtensions.h et le fichier de mise en œuvre NSString_CCFExtension.m

Doxygen fera référence le fichier avec la superclasse ; mais aucune des méthodes de catégorie n'est documentée, malgré la syntaxe doxygen apparemment valide.

Quel est le balisage source correct pour que les catégories Objective-C fonctionnent?

Répondre

14

Après quelques tests de régression (et un peu de sens commun) la solution:

Disons que j'ai une catégorie Cat1 sur NSObject, pour doxygen pour analyser mon fichier d'en-tête de la catégorie, il devrait ressembler à peu près comme ceci:

#import <Cocoa/Cocoa.h> 

/*! \category NSObject(Cat1) 
    \abstract A category on NSObject 
*/ 

@interface NSObject(Cat1) 
    - (void)foo; 
@end 

et le fichier de mise en œuvre:

#import "NSObject_Cat1.h" 

@implementation NSObject(Cat1) 

- (void)foo { 
    // do something 
} 

@end 

important, placez pas d'espace entre le nom de classe et le nom de la catégorie.

Questions connexes