“继承”属性的协议一致性

时间:2017-04-06 11:58:10

标签: ios swift protocols

我很难对这个问题给出一个好的标题,但这是我的理由:

protocol A: class {}

protocol B: A {}

protocol C {
    var P: A { get set }
}

class D: C {
    var P: B
}

我得到的错误是:

  

类型'D'不符合协议'C'

基本上,根据我的理解,这个错误不应该发生,因为协议B实现了协议A,这意味着D类实际上符合协议C.我想编译器无法推断它,我需要通过它来指导它。谁能向我解释我怎么能这样做?

感谢您的帮助,谢谢。

0 个答案:

没有答案