I have an objc base class:
@protocol BaseClassDelegate;
@interface BaseClass : NSObject
@property (nonatomic, weak) id delegate;
I'd either create a wrapper delegate to make it the correct type in SubClass
.
class SubClass: BaseClass {
var myDelegate: SubClassDelegate? {
get { return delegate as? SubClassDelegate }
set { delegate = newValue }
}
@IBAction func onDoSomething(sender: AnyObject) {
myDelegate?.additionalSubClassDelegateMethod();
}
}
Or simply cast the delegate to the expected type:
(delegate as? SubClassDelegate)?.additionalSubClassDelegateMethod();