我有三个班级Class A, Cl ass B,Class C。
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