HeaderDoc Objective-C Tag set |
|||||||||||||||||||||||||||||||||
|
|
はじめにHeaderDocのObjectiveCヘッダーの処理方法はほとんどCヘッダーと同じです. 実際HeaderDocがObjectiveCヘッダーでクラス宣言に遭遇するまで処理は同一です。 つまり、ObjectiveCヘッダーの中でCヘッダーのために定義されたタグのどれでも使うことができることを意味します.詳しくはHeaderDoc_Objective-C_TagSetを参照してください. 例えば、2つのクラスを宣言するヘッダーファイルで、あなたは,なぜこれらのクラスがまとめられているかを@headerタグを使って説明が出来ます.そしてそれぞれのクラス用の説明を提供するために@classタグを使うことができます. クラス宣言中で、それぞれのメソッドを文書化するために@methodタグを使うことができます。 ObjectiveCはCのスーパーセットであるので、ヘッダーはでは、クラス定義以外のタイプの宣言や関数宣言があるかもしれません.そのために@typedefや@function等のC言語タグを使うことが出来ます ObjectiveCクラスの処理HeaderDocがObjectiveCヘッダーで@classタグに遭遇すると、それはクラス宣言の始まりから終わりまでのコメントと宣言の全部を、ヘッダーファイルについてのタグではなく、そのクラスにのタグであるとみなします.HeaderDocがObjectiveCヘッダーからHTMLドキュメンテーションを生成する時に、ヘッダー中で宣言されたクラス毎に分割されたframesetを作ります. ObjectiveCプロトコルの処理HeaderDocはクラス宣言の様に単純に ObjectiveCプロトコル宣言を処理します。 プロトコルとメソッドの宣言のドキュメンテーションはそれら自身のframesetにまとめられます.プロトコルを含むヘッダーからアクセスできる様になります.ObjectiveCカテゴリの処理ObjectiveC カテゴリー機能はが既にあるクラスにメソッドを後から加えさせる事が出来ます。 HeaderDoc が1回分のヘッダーを処理して、そしてカテゴリーで宣言されたメソッドのためにコメントを見いだすとき、それは関連づけられたクラスドキュメンテーションを捜して、そしてクラスドキュメンテーションにそれらのメソッドとそれらのドキュメンテーションを加えます。 もしクラスが現在のバッチに存在していないならHeaderDocはカテゴリーのためにドキュメンテーションの別のframesetを作るでしょう。HeaderDocは、ObjectiveCのクラス、プロトコル、カテゴリ宣言の中でだけ@methodタグを受け付けます. この文書のお約束タグはそれぞれのタイプに依存して、1つか2つの追加情報を提供するフィールドがあります. @method [メソッド名] @param [パラメーター名] [パラメータについての説明...]以下の表での"フィールド数"の行の番号はそのタグがいくつのフィールドをとるかを示しています. 注意)赤く書かれたタグは必須タグです. @classタグ, @protocolタグ, @categoryタグObjectiveCでクラスとプロトコルの宣言は非常に似ています. 従ってHeaderDocでは@classと@protocolの使用法が同じになっています. Classタグとプロトコルタグ
これらのタグに続いて、クラス、プロトコル、あるいはカテゴリーの目的について説明文を書く事が出来ます.
下の例にで説明する様に説明文を簡単なサマリーと込入った本文に分けることができます.( @abstract と @discussion タグを使ったやつ)
あるいは,さらに次の例でみる様にタグを使わないで単一テキストブロックで説明文を提供する事も出来ます。
/*!
@class NSPrinter
@abstract An NSPrinter object describes a printer's capabilities.
@discussion An NSPrinter object describes a printer's capabilities,
such as whether the printer can print in color and whether
it provides a particular font. An NSPrinter object represents...
*/
@interface NSPrinter: NSObject
...
@end
例 2 - 単一テキストブロックによるドキュメンテーションの例
/*!
@class NSPrinter
An NSPrinter object describes a printer's capabilities, such as
whether the printer can print in color and whether it provides a
particular font. An NSPrinter object represents...
*/
@interface NSPrinter: NSObject
...
@end
メソッドタグ@methodタグはメソッド宣言のためのタグです.ObjectiveCのclass,protocol,categoryの中で使えます.
例
/*!
@method dateWithString:calendarFormat:
@abstract Creates and returns a calendar date initialized with
the date specified in the string description.
@discussion [An extended description of the method...]
@param description A string specifying the date.
@param format Conversion specifiers similar to those used in strftime().
@result Returns the newly initialized date object or nil on error.
*/
+ (id)dateWithString:(NSString *)description calendarFormat:(NSString *)format;
|
||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||