【问题标题】:Override superclass delegate with sub-protocol Swift使用子协议 Swift 覆盖超类委托
【发布时间】:2015-06-26 08:59:45
【问题描述】:

这是我对某个类的实现:

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 类型的属性?”

我认为我做的一切都是正确的,但显然不是。有人可以向我解释一下这个问题吗?

【问题讨论】:

    标签: ios swift types delegates overriding


    【解决方案1】:

    因为不能覆盖不同数据类型的变量。

    【讨论】:

    • 我知道,但是我要覆盖的数据类型继承自它想要的数据类型
    猜你喜欢
    • 2015-10-28
    • 1970-01-01
    • 2017-05-11
    • 2021-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多