2013-05-31 6 views
5

クラス宣言と同じヘッダーファイル内のカテゴリを宣言しFoundationフレームワーク(例えばNSString.h)におけるいくつかのヘッダファイルの周り突っついた後、私はNSStringの宣言のように見えることに気づきましたメソッドは同じヘッダーファイルで宣言されたカテゴリで宣言されます。はなぜ

this answerを読んだ後では、主にコードを整理することにあるようです。

特に、実装が隠されている場合は、NSStringのように、クラス宣言と同じヘッダーにカテゴリを宣言することに利点がありますか?

答えて

8

通常、カテゴリは組織目的で使用されます。しかし、NSStringの場合は、NSStringがクラスクラスタなので、主に使用されます。このように、カテゴリは、クラスター内のクラスの追加メソッド(プリミティブメソッドとは対照的に)を定義するために使用されます。

マイク・アッシュhereのクラス・クラスターに関する素晴らしい記事があります。