Категории Doxygen и Objective-C
Хотя последние версии Doxygen требуют лучшей обработки категорий Objective-C, по-прежнему кажется, что они помещаются в категории в моем исходном коде. Мне интересно, если кто-то получил его, чтобы правильно документировать категории.
В качестве примера у меня есть категория в NSString, определенная как:
@interface NSString (CCFExtensions)
с файлом интерфейса NSString_CCFExtensions.h и файлом реализации NSString_CCFExtension.m
Doxygen будет ссылаться на файл с суперклассом; но ни один из методов категории не документирован, несмотря на кажущийся действительный синтаксис doxygen.
Какова правильная разметка источника для работы категорий Objective-C?
Ответы
Ответ 1
После некоторого регрессионного тестирования (и небольшого здравого смысла) решение:
Скажем, у меня есть категория Cat1 в NSObject, для 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
Важно отметить, что между именем класса и именем категории нет пробелов.