0

重複の可能性:
Objective-c の継承とカテゴリ
の違いカテゴリと継承の違いと使用法は何ですか?

お返事ありがとうございます。たとえば、クラスにメソッドを追加したい場合は nsstring クラスがあります。そのためのカテゴリを作成する必要はありません。サブクラス化することはできますが、なぜカテゴリを使用しているのですか?これについて助けてください

4

1 に答える 1

10

カテゴリは、特定のクラスにいくつかの追加機能を追加します (例: NSString)。その特定のクラス名でオブジェクトを宣言する必要はありません。そのカテゴリのみをインポートすると、すべてのオブジェクトが暗黙的にカテゴリのインスタンスになり、すべての実装が利用できるようになります。

サブクラス化するとき(既存の動作/メソッドを意図的にオーバーライドする必要がある場合や、追加の機能を追加することもできます)、そのオブジェクトを次のようなタイプで明示的に宣言します

MyCustomString *string;

そして、すべてのメソッドが表示されます。

于 2012-11-12T13:49:35.273 に答える