迭代器模式在swift中的体现

2021-12-01  本文已影响0人  梁森的简书

概念

迭代器模式属于行为型模式,提供了循环集合的标准方法

例子

我们自己使用数组创建一个队列类,要想让这个队列类有for in循环的方法,需要让该类遵守Sequence协议并实现协议中的makeIterator方法

public func makeIterator() -> IndexingIterator<ArraySlice<T?>> {
        // 只枚举非空对象
        let nonEmptyValues = array[head ..< array.count]
        return nonEmptyValues.makeIterator()
    }

这样我们对我们自己创建的队列类对象就能使用for in循环方法了,包括sorted方法,还有许多高级函数如:compactMap、filter

demo地址

https://github.com/pro648/BasicDemos-iOS/tree/master/IteratorPattern

上一篇 下一篇

猜你喜欢

热点阅读