gpt4 book ai didi

swift - swift 中的 SequenceType 和 CollectionType 有什么区别?

转载 作者:IT王子 更新时间:2023-10-29 05:05:15 24 4
gpt4 key购买 nike

请解释一下Swift编程语言中SequenceTypeGeneratorTypeCollectionType的区别。

此外,如果我要实现自己的数据结构,使用 SequenceTypeGeneratorTypeCollectionType 协议(protocol)有什么优势?

最佳答案

GeneratorType ( IteratorProtocol in Swift 3 ): Generators 是可以给出某个序列的 next 元素的东西,如果没有元素则返回 nilGenerators 封装迭代状态和序列迭代接口(interface)。

生成器通过提供一个方法来工作,即 - next(),它只是从底层 sequence 返回下一个值。

以下类采用 GeneratorType 协议(protocol):

DictionaryGenerator , EmptyGenerator , 更多 here .


SequenceType ( Sequence in Swift 3 ): Sequence 表示一系列值。 Sequence 是一种可以用 for...in 循环迭代的类型。

本质上,一个序列是一个生成器工厂;知道如何为序列生成生成器的东西。

以下类采用 SequenceType 协议(protocol):

NSArray , NSDictionary , NSSetmore .


CollectionType ( Collection in Swift 3 ): Collection 是一个可以通过下标访问的 SequenceType 并定义了一个 startIndexendIndex Collection 是超越序列的一步;集合的单个元素可以被多次访问。

CollectionType 继承自 SequenceType

以下类采用 CollectionType 协议(protocol):

Array , Dictionary , Set , Rangemore .


表格更多信息你可以看this , this , 和 this

关于swift - swift 中的 SequenceType 和 CollectionType 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30565875/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com