11

Doxygen の最新リリースでは、Objective-C のカテゴリの処理が改善されていると主張されていますが、それでも私のソース コードではカテゴリが詰まるようです。誰かがカテゴリを適切に文書化することに成功したかどうか疑問に思っています。

例として、次のように定義された NSString のカテゴリがあります。

@interface NSString (CCFExtensions)

NSString_CCFExtensions.h という名前のインターフェイス ファイルと実装ファイル NSString_CCFExtension.m を使用

Doxygen はスーパークラスでファイルを参照します。しかし、一見有効な doxygen 構文にもかかわらず、どのカテゴリ メソッドも文書化されていません。

Objective-C カテゴリを機能させるための正しいソース マークアップは何ですか?

4

1 に答える 1

14

いくつかの回帰テスト(および少しの常識)の後、解決策:

doxygen が私のカテゴリ ヘッダー ファイルを解析するために、NSObject にカテゴリ Cat1 があるとしましょう。おおよそ次のようになります。

#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 に答える