0
经过一番研究,我一直没能找到任何具体的确认,但似乎序列协议的Generator关联类型已被重命名为迭代器。它是否正确?迭代器协议与发生器vs迭代器在swift中的比较
我无法找到任何关于协议GeneratorType或关联的类型生成器的快速API参考。我只是看到人们在博客上写这篇文章。
所以我的问题是生成器和迭代器引用swift中完全相同的概念吗?
经过一番研究,我一直没能找到任何具体的确认,但似乎序列协议的Generator关联类型已被重命名为迭代器。它是否正确?迭代器协议与发生器vs迭代器在swift中的比较
我无法找到任何关于协议GeneratorType或关联的类型生成器的快速API参考。我只是看到人们在博客上写这篇文章。
所以我的问题是生成器和迭代器引用swift中完全相同的概念吗?
生成器和迭代器指的是Swift中完全相同的概念吗?
总之,是。
如the evolution proposal为标准库的夫特3 'renamification' 表示:
地带
Type
从协议名称后缀。在一些特殊情况下,这意味着添加一个Protocol
后缀以避开主要[...]类型名称的方式。生成器的概念被重命名为所有API的迭代器。
作为结果,GeneratorType
协议已被重命名为IteratorProtocol
。
的SequenceType
协议更名为Sequence
,和看起来像这样去:
public protocol SequenceType {
associatedtype Generator : GeneratorType
// ...
func generate() -> Generator
// ...
}
来寻找这样的:
public protocol Sequence {
associatedtype Iterator : IteratorProtocol
// ...
func makeIterator() -> Iterator
// ...
}
一句话;是。 – Hamish
有点相关:[Swift 3中的NSFastEnumeration](http://stackoverflow.com/q/37829953/2976878)。另请参阅Swift 3的[进化提议](https://github.com/apple/swift-evolution/blob/master/proposals/0006-apply-api-guidelines-to-the-standard-library.md)重新标准库。 – Hamish
感谢Hamish这两个链接都很有用。有这样的感觉,就是找不到具体的确认。感谢您的安心。如果您只是以答案的形式发布信息,我可以接受。 –