请解释之间的区别SequenceType,GeneratorType并CollectionType在雨燕的编程语言.
另外,如果我实现我自己的数据结构,这将是使用的优势SequenceType,GeneratorType或CollectionType协议?
Viv*_*kar 62
GeneratorType(Swift 3中的IteratorProtocol): 如果没有返回的元素,则Generators可以给出next某个序列的元素nil.Generators封装迭代状态和接口,以便在序列上进行迭代.
生成器通过提供单个方法来工作,即 - next(),它只是从底层返回下一个值sequence.
以下类采用GeneratorType协议:
DictionaryGenerator,EmptyGenerator,更多这里.
SequenceType(Swift 3中的序列): ASequence表示一系列值.Sequence是一个可以for...in循环迭代的类型.
基本上序列是发电机工厂; 知道如何为序列生成生成器的东西.
以下类采用SequenceType协议:
的NSArray,NSDictionary中,NSSet中和更多.
CollectionType(在夫特3系列): Collection是一种SequenceType可通过下标被访问并且限定startIndex和endIndex.Collection是超越序列的一步; 可以多次访问集合的各个元素.
CollectionType 继承自 SequenceType
以下类采用CollectionType协议: