Doxygen and Objective-C categories

随声附和 提交于 2019-12-13 11:56:10

问题


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?


回答1:


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.



来源:https://stackoverflow.com/questions/2042595/doxygen-and-objective-c-categories

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!