Erweiterung eines Delegaten von einer Basisklasse
Ich habe eine objc Basisklasse:
@protocol BaseClassDelegate;
@interface BaseClass : NSObject
@property (nonatomic, weak) id <BaseClassDelegate> delegate;
@end
@protocol BaseClassDelegate <NSObject>
-(void)baseDelegateMethod;
@end
Ich erstelle eine schnelle Unterklasse, in der ich meinen Stellvertreter erweitern möchte ...
protocol SubClassDelegate : BaseClassDelegate {
func additionalSubClassDelegateMethod();
}
class SubClass: BaseClass {
@IBAction func onDoSomething(sender: AnyObject) {
delegate?.additionalSubClassDelegateMethod(); <--- No such method in 'delegate'
}
}
Nun, wenn ich meine Unterklasse erstelle, kann ich sagen, dass sie dem SubClassDelegate entspricht, und den Delegaten festlegen. Das Problem ist (natürlich), dass "Delegierter" in dieser Unterklasse nicht existiert. Gibt es eine Möglichkeit, dem Compiler mitzuteilen, dass er meinen Delegaten in meine Unterklasse "erweitern" soll? (oder bin ich hier verrückt und habe etwas Offensichtliches verpasst)