特定のプロトコルを使用するようにオブジェクトを強制する方法はありますか (特定のプロトコルに応答するのではなく、呼び出しでプロトコルを「使用」します)。
この構文は「反対」です
id <aProtocol> object;
「オブジェクト」が「aProtocol」のメソッドに確実に応答するようにしますが、呼び出し先が確実に応答するように、「aProtocol」を使用するオブジェクトを渡したいと思います。
特定のプロトコルを使用するようにオブジェクトを強制する方法はありますか (特定のプロトコルに応答するのではなく、呼び出しでプロトコルを「使用」します)。
この構文は「反対」です
id <aProtocol> object;
「オブジェクト」が「aProtocol」のメソッドに確実に応答するようにしますが、呼び出し先が確実に応答するように、「aProtocol」を使用するオブジェクトを渡したいと思います。
これは実際には、クラスをどのように作成するかの問題です。適切なタイミングでデリゲート プロトコルのメソッドをオブジェクトに呼び出させると、ほら、オブジェクトがプロトコルを使用するようになりました。
このようなもの?
-(void) callMethodWithObject:(id <aProtocol>) object;
したがって、渡されたオブジェクトは、aProtocol に応答することが「期待」されます。
それともヘッダーファイルにこのようなプロトコルを実装したクラスを作るということですか?
@interface MyClass : NSObject <aProtocol>
{ }