首页 文章

序列的协议要求的方法

提问于
浏览
2

Sequence's protocol

是一个Swift协议,因此需要它的所有方法 .

看看它的声明,我现在已经看到有很多方法,如

makeIterator(), map(), filter()

等等...

我想知道为什么 only

makeIterator()

方法是必需的 .

它不是带有可选关键字的 @objc 协议,它是's not a protocol'的扩展名,它不是一个简单的Swift类协议 .

任何的想法?

1 回答

  • 1

    关于这个问题,Hamish为我们提供了正确的解决方案

    它不是协议的扩展“ - 不,Sequence确实为其余的需求提供了默认实现,例如map的默认实现在这里,filter的默认实现就在这里 . 注意,当序列是时,makeIterator()还有一个默认实现 . 它自己的迭代器 .

    我们可以找到 makeIterator() 默认实现here

    真的感谢!

相关问题