現在のプロジェクトでは、いくつかのプロトコルがあり、このプロトコルを実装するクラスでカテゴリを宣言します。
@interface MyClass (ImplementingMyProtocol) <MyProtocol>
@end
@implementation
// Implementation of protocol
@end
このスキームがどのように解釈されるかについては、次の 2 つの可能性があると思います。
MyClass
このカテゴリは、 に準拠するサブクラスにのみ適用されMyProtocol
ます。- カテゴリは のすべてのインスタンスに適用され、カテゴリ別
MyClass
に実装MyProtocol
する効果があります。
これら2つの可能性のうち、実際に当てはまるのはどれですか? コンパイラがこの宣言をどのように解釈するのかわかりません。また、そのトピックに関するヘルプやドキュメントも見つかりませんでした。これら 2 つのオプションの両方を処理する方法はわかっていると思いますが、そのためには、実際にコンパイラがコードを解釈する方法がどちらであるかを知る必要があります。