Sequence's protocol
是一个Swift协议,因此需要它的所有方法 .
看看它的声明,我现在已经看到有很多方法,如
makeIterator(), map(), filter()
等等...
我想知道为什么 only
makeIterator()
方法是必需的 .
它不是带有可选关键字的 @objc 协议,它是's not a protocol'的扩展名,它不是一个简单的Swift类协议 .
任何的想法?
关于这个问题,Hamish为我们提供了正确的解决方案
它不是协议的扩展“ - 不,Sequence确实为其余的需求提供了默认实现,例如map的默认实现在这里,filter的默认实现就在这里 . 注意,当序列是时,makeIterator()还有一个默认实现 . 它自己的迭代器 .
我们可以找到 makeIterator() 默认实现here
makeIterator()
真的感谢!
1 回答
关于这个问题,Hamish为我们提供了正确的解决方案
我们可以找到
makeIterator()
默认实现here真的感谢!