有人可以解释为什么在下面的示例中输入“Generator”之后会出现“:”吗?是不是说“Generator”符合“GeneratorType”?我很困惑,因为当我阅读Swift文档时,它只在别名后面描述了一个“=”符号。
protocol SequenceType : _Sequence_Type {
typealias Generator : GeneratorType
func generate() -> Generator
}
答案 0 :(得分:3)
在协议中,typealias
声明associated type。符合此协议的类和结构必须具有typealias
指令,该指令将类型声明为具体的类型。
是的,这意味着在Generator
协议的任何实施中,GeneratorType
必须符合SequenceType
。