0

Class AClass BClass Cの3 つのクラスがあります。

クラス Aは次のようにプロトコルを宣言します。

@protocol calculate <NSObject>

@required
-(void)addNumbers;
-(void)calculateTotal;

@end

クラス Aの実装では、そのようなプロパティが定義されています。

static id <calculate> delegate;

] クラス Bクラス Cには、実装されたプロトコルとメソッドが定義されています。

クラス A の実装ファイルで、クラス B とクラス C によって実装された正しいプロトコル メソッドを呼び出したい場合は、次のようにしています。

 id <calculate> delegate = [Class B alloc] init];
 [delegate addNumbers];

 id <calculate> delgate = [Class C alloc] init];
 [delegate addNumbers];

これは機能しますが、これは正しくないと感じています。単一のデリゲート オブジェクトがクラス B またはクラス C で正しいaddNumbersを決定して呼び出すことができるかどうかを知りたい

4

3 に答える 3