上記を達成する方法を教えてください。
プロトコル A (インターフェイス宣言) を作成して、そのプロトコル A のすべての具体的な実装 (クラス) に、これらのクラスがデリゲートに何かを通知するプロトコル B を宣言するように強制します。
私の問題は、同時に概念的であり、構文的でもあると思います。
上記を達成する方法を教えてください。
プロトコル A (インターフェイス宣言) を作成して、そのプロトコル A のすべての具体的な実装 (クラス) に、これらのクラスがデリゲートに何かを通知するプロトコル B を宣言するように強制します。
私の問題は、同時に概念的であり、構文的でもあると思います。
強制したいプロトコルの拡張としてプロトコルを宣言することができます:
@protocol NewProtocol <OldProtocol>
- (void)foo;
@end
そうすれば、の必要なすべてのメソッドが、OldProtocol
を実装する任意のオブジェクトによって実装されていることを確認できますNewProtocol
。もちろん、オプションのメソッドは適用されません。
プロトコル A をプロトコル B から継承するように定義すると、目的の効果が得られます。
同じファイルで両方のプロトコルを定義することもできます。
この質問では、プロトコルの継承についてさらに議論があります。