序列的协议要求的方法

时间:2017-08-04 14:02:38

标签: swift protocols

序列协议

是Swift协议,因此需要所有方法。

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

makeIterator(), map(), filter()

依旧......

我想知道

的原因

makeIterator()

方法是必需的。

它不是带有可选关键字的 @objc 协议,它不是协议的扩展,它不符合任何其他协议。这是一个简单的Swift协议。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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

  

它不是协议的扩展“ - 不,序列确实提供默认值   其余要求的实现,例如map的默认值   实现是here,过滤器的默认实现是here。注意   当makeIterator()时还有一个默认的实现   sequence是它自己的迭代器。

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

非常感谢!