2010-01-11 13 views
11

Doxygen claim better handling of Objective-C categories'un en son sürümleri olmasına rağmen, hala kaynak kodumda kategorileri tıklatıyor gibi görünüyor. Birilerinin doğru bir şekilde kategorileri belgelemek için aldığını merak ediyorum. Doxygen ve Objective-C kategorileri

Doxygen üst sınıf ile dosyaya başvurur NSString_CCFExtension.m

bir NSString_CCFExtensions.h adlı arayüz dosyası ve uygulama dosyası ile

@interface NSString (CCFExtensions) 

:

Örnek olarak, ben olarak tanımlanan NSString bir kategori var ; ama görünüşte geçerli doxygen sözdizimine rağmen, kategori yöntemlerinden hiçbiri belgelenmemiştir.

Objective-C kategorilerini çalışmak için doğru kaynak biçimlendirmesi nedir?

cevap

14

bazı regresyon testi (ve biraz sağduyu) çözümü sonra:

:

ı doxygen benim kategorisi başlık dosyasını ayrıştırmak için, bu gibi kabaca görünmelidir, NSObject bir kategori cat1 var diyelim

#import <Cocoa/Cocoa.h> 

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

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

ve uygulama dosyası:

önemlisi
#import "NSObject_Cat1.h" 

@implementation NSObject(Cat1) 

- (void)foo { 
    // do something 
} 

@end 

, sınıf adı ve kategori adının arasında hiçbir boşluk koyun.