Категории Doxygen и Objective-C

Хотя последние выпуски Doxygen требуют лучшей обработки категорий Objective-C, это все еще, кажется, дросселирует на категориях в моем исходном коде. Я задаюсь вопросом, получил ли кто-то его к категориям документа правильно.

Как пример, у меня есть категория на NSString, определенном как:

@interface NSString (CCFExtensions)

с интерфейсным файлом под названием NSString_CCFExtensions.h и файлом реализации NSString_CCFExtension.m

Doxygen сошлется на файл с суперклассом; но ни один из методов категории не документируется, несмотря на на вид допустимый doxygen синтаксис.

Что корректная исходная разметка должна получить работу категорий Objective-C?

11
задан albert 26 March 2019 в 11:36
поделиться

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

Важно, чтобы между именем класса и именем категории не было пробела.

14
ответ дан 3 December 2019 в 08:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: