Swift协议限制

时间:2017-02-24 11:22:02

标签: swift swift-protocols

我遇到了swift协议的限制:

protocol P {
}

protocol Q: P {
}

protocol R  {
    var p: P { get set }
}

struct S: R {
    var p: Q
}

代码似乎是正确的,但它不会构建,因为S不符合协议R,这需要P类型的属性。

Struct S有一个Q类型的属性,根据定义,它扩展为P

这是一个错误还是设计?

有人可以提出解决方法吗?

0 个答案:

没有答案