需要澄清Swift中的typealias语法

时间:2015-08-20 01:21:32

标签: swift alias

有人可以解释为什么在下面的示例中输入“Generator”之后会出现“:”吗?是不是说“Generator”符合“GeneratorType”?我很困惑,因为当我阅读Swift文档时,它只在别名后面描述了一个“=”符号。

protocol SequenceType : _Sequence_Type {
    typealias Generator : GeneratorType
    func generate() -> Generator
}

1 个答案:

答案 0 :(得分:3)

在协议中,typealias声明associated type。符合此协议的类和结构必须具有typealias指令,该指令将类型声明为具体的类型。

是的,这意味着在Generator协议的任何实施中,GeneratorType必须符合SequenceType