Doxygen, похоже, имеет идиосинкразическую обработку категорий Objective-C, и я хотел бы знать, смогли ли другие успешно обойти это. Я хотел бы, чтобы doxygen документировал все категории класса как отдельные объекты, независимо от того, документирован ли базовый класс или нет.
Если я добавлю разметку doxygen к категории в недокументированном базовом классе, скажем, NSString, то doxygen перечислит категорию и ее методы в списке классов как отдельный объект.
/**
* @category NSString(Foo)
* @brief A sample category on NSString
*/
@interface NSString(Foo)
@end
Результатом является задокументированная сущность NSString(Foo) в списке классов.
Но в следующем примере нет:
/**
* @category CCFMyCustomClass(Foo)
* @brief A category on a documented base class
*/
@interface CCFMyCustomClass(Foo)
@end
Вместо этого в последнем случае все методы CCFMyCustomClass(Foo) включены в документацию для CCFMyCustomClass — базового класса.
Следующее, хотя и часто цитируемое, похоже, не помогает решить эту проблему: