2015-04-19 5 views
0

Это моя реализация определенного класса:Override суперкласса делегата с суб-протоколом Swift

public class JABTouchableView { 
    public var delegate: JABTouchableViewDelegate? 
} 

public protocol JABTouchableViewDelegate { 
    func someFunction() 
} 

Сейчас я пытаюсь написать подкласс:

public class JABButton: JABTouchableView { 
    override public var delegate: JABButtonDelegate? 
} 

public protocol JABButtonDelegate: JABTouchableViewDelegate { 
    func someNewFunction() 
} 

Но я получаю ошибку "делегат свойства с типом JABButtonDelegate? не может переопределить свойство с типом JABTouchableViewDelegate?"

Я думал, что все сделал правильно, но ясно, что нет. Может кто-нибудь объяснить мне эту проблему?

ответ

0

потому что не может переопределить переменную с разными типами данных.

+0

Я знаю, но тип данных я переопределяю с наследованием от того, который он хочет – user2977972

+0

они разные типы данных, места в разных указателях. – dimpiax

Смежные вопросы