虽然Doxygen claim better handling of Objective-C categories的最新版本,但它似乎仍然在我的源代码中阻塞类别。我想知道是否有人能够正确记录类别。
作为一个例子,我在NSString上有一个类别定义为:
@interface NSString (CCFExtensions)
使用名为NSString_CCFExtensions.h的接口文件和实现文件NSString_CCFExtension.m
Doxygen将使用超类引用该文件;尽管看似有效的doxygen语法,但没有记录任何类别方法。
使Objective-C类别正常工作的正确源标记是什么?
答案 0 :(得分: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
重要的是,在类名和类别名称之间不要留空格。