11

尽管 Doxygen 的最新版本声称可以更好地处理 Objective-C 类别,但它似乎仍然让我的源代码中的类别感到窒息。我想知道是否有人已经得到它来正确记录类别。

例如,我在 NSString 上有一个类别,定义为:

@interface NSString (CCFExtensions)

带有名为 NSString_CCFExtensions.h 的接口文件和实现文件 NSString_CCFExtension.m

Doxygen 将使用超类引用文件;但是没有任何类别方法被记录,尽管看似有效的 doxygen 语法。

使 Objective-C 类别正常工作的正确源标记是什么?

4

1 回答 1

14

经过一些回归测试(和一点常识)后,解决方案:

假设我在 NSObject 上有一个类别 Cat1,让 doxygen 解析我的类别头文件,它应该大致如下所示:

#import <Cocoa/Cocoa.h>

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

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

和实现文件:

#import "NSObject_Cat1.h"

@implementation NSObject(Cat1)

- (void)foo {
    //  do something
}

@end

重要的是,类名和类别名之间不要有空格。

于 2010-01-12T13:55:25.537 回答