【问题标题】:Error when using reduce() in Swift 2.0在 Swift 2.0 中使用 reduce() 时出错
【发布时间】:2015-08-29 19:08:50
【问题描述】:

注意:这也适用于 Swift 3.0

当我尝试使用 reduce 函数时,我收到一条错误消息:

reduce 不可用:在序列上调用 'reduce()' 方法

我已经想出了如何使用enumerate() 函数来做到这一点,但我似乎无法解决这个问题。这是返回错误的代码行:

var hashValue: Int {
    return reduce(blocks, 0) { $0.hashValue ^ $1.hashValue }
}

【问题讨论】:

    标签: function swift reduce swift2


    【解决方案1】:

    您解决此问题的方式与解决 enumerate() 问题的方式相同。在 Swift 2 中,reduce 已作为全局函数被删除,并已通过协议扩展添加为所有符合 SequenceType 协议的对象的实例方法。用法如下。

    var hashValue: Int {
        return blocks.reduce(0) { $0.hashValue ^ $1.hashValue }
    }
    

    【讨论】:

    • 非常感谢!由于 reduce() 中的两个值,我不确定。
    猜你喜欢
    • 1970-01-01
    • 2014-01-21
    • 1970-01-01
    • 2016-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-29
    • 2020-09-18
    相关资源
    最近更新 更多