talk is cheap
```objc
@
protocol YouShouldDoThisDelegate <NSObject>
@
optional- (void )killBill;
@
end;
```
```objc
@
implementation AClass
{
id<YouShouldDoThisDelegate> _delegate;
}
- (void )findSomeToKillTarget
{
BClass *b = [BClass alloc] init];
_delegate = b;
}
- (void )killOrder
{
if ([_delegate respondsToSelector:@selector (killBill )]) {
[_delegate killBill];
}
}
@
end```
```objc
@
interface BClass () <> <YouShouldDoThisDelegate>
@
end@
implementation BClass
- (void )killBill
{
//Kill Bill
}
@
end```