Swift协议继承混淆

时间:2016-11-27 12:40:42

标签: swift inheritance protocols standards-compliance

我在Swift中遇到协议一致性问题。我认为从另一个协议继承的协议自动符合其基本协议。但显然事实并非如此。我希望以下代码能够正常工作,但它给出了错误消息:可能意图匹配'SomeClass.SomeType'(又名'AnotherProtocol')不符合'SomeProtocol'

protocol SomeProtocol {}
protocol AnotherProtocol: SomeProtocol {}

protocol RequiredProtocol {
    associatedtype SomeType: SomeProtocol
}

class SomeClass: RequiredProtocol {
    typealias SomeType = AnotherProtocol
}

那么,当一致性没有被继承时,协议继承的用途是什么?在这种情况下,解决方法是什么?

0 个答案:

没有答案