Although the latest releases of Doxygen claim better handling of Objective-C categories, it still seems to choke on categories in my source code. I'm wondering if someone has gotten it to document categories properly.
As an example, I have a category on NSString defined as:
@interface NSString (CCFExtensions)
with an interface file named NSString_CCFExtensions.h and implementation file NSString_CCFExtension.m
Doxygen will reference the file with the superclass; but none of the category methods are documented, despite seemingly valid doxygen syntax.
What is the correct source markup to get Objective-C categories working?
After some regression testing (and a little common sense) the solution:
Let's say I have a category Cat1 on NSObject, for doxygen to parse my category header file, it should look roughly like this:
#import <Cocoa/Cocoa.h>
/*! \category NSObject(Cat1)
\abstract A category on NSObject
*/
@interface NSObject(Cat1)
- (void)foo;
@end
and the implementation file:
#import "NSObject_Cat1.h"
@implementation NSObject(Cat1)
- (void)foo {
// do something
}
@end
Importantly, place no spaces between the class name and the category name.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With