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)

Antworten auf die Frage(4)

Ihre Antwort auf die Frage