制作反向迭代器

问题描述

我正在尝试做一个反向迭代器。但我一直收到 badexception 错误。 我想遍历两个数组 例子: [6,5,4,3,2,1] 和数组 [22,23,24,25] 首先有一次迭代,每两个元素,但是当下一个元素变得小于 1 时,切换到下一个数组,并以某个数字继续迭代(假设只迭代 2 次)。当前代码转到数组的末尾,但不会切换到下一个。为什么?提前致谢! image

extension Array {
    func reversedIterator(another: Array) -> AnyIterator<Element> {
        var index = self.endindex
        var anotherIndex = another.endindex
        return AnyIterator({
            if self.isEmpty {
                return nil
            }
            if index == self.startIndex {
                print(anotherIndex,index)
                anotherIndex = another.index(before: anotherIndex)
            }
            index = self.index(before: index)
            let result = another[index]
            
            return result
        })
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)