请说明Swift编程语言中SequenceType,GeneratorType和CollectionType之间的区别.
另外,如果我正在实现我自己的数据结构,那么使用SequenceType,GeneratorType或CollectionType协议会有什么优势?
GeneratorType(
IteratorProtocol in Swift 3):如果没有元素返回nil,发生器可以给出某个序列的下一个元素.发生器封装迭代状态和接口,用于迭代序列.
一个生成器通过提供一个单一的方法,即 – next(),它只是从底层的序列中返回下一个值.
以下类采用GeneratorType协议:
DictionaryGenerator,EmptyGenerator,here.
SequenceType(Sequence in Swift 3):序列表示一系列值. Sequence是一个可以用for … in循环迭代的类型.
本质上是一个发电机工厂;知道如何使序列发生器的东西.
以下类采用SequenceType协议:
NSArray,NSDictionary,NSSet和more.
CollectionType(Collection in Swift 3):Collection是一个可以通过下标访问的SequenceType,并定义了一个startIndex和endIndex.收藏是超越序列的一步;集合的各个元素可以被多次访问.
CollectionType继承自SequenceType
以下课程采用CollectionType协议:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。