2

私の初心者の心と手順では、クラスのカテゴリを作成するときに、新しいファイルに作成します

お気に入りNSArray+Shuffle.h and .m

しかし、たとえばViewControllerを作成すると、

私は実装に持っています:

@interface PingusViewController ()

@end

@implementation PingusViewController
...
@end

だから私の質問は:

は何ですか

@interface PingusViewController ()

@end

一部?、これはカテゴリ用ですか?または何の用途ですか? また、それがカテゴリ用である場合、なぜ新しいファイルではなくここで使用するのでしょうか?

ありがとう!

4

1 に答える 1

2

これはClass Extensionと呼ばれます。

クラスのプライベート宣言の従来の場所と考えてください。

宣言はプライベートと見なされ、クラスのみに表示されることを意図しているため、通常はヘッダー ファイルではなく実装ファイルで宣言されます@implementation

カテゴリ OTOH は、作成者がクラスのパブリック インターフェイスを拡張するために通常使用するインターフェイスです。宣言は似ています。結局のところ、クラス拡張は名前のないカテゴリにすぎませんが、アプリケーションは (慣例により) 区別されます。

于 2012-04-11T05:52:00.973 に答える