尝试减少Decimal属性会给出:表达式的类型是不明确的,没有更多的上下文

问题描述 投票:0回答:1

我有一个名为Transaction的核心数据实体,其属性为value,属性为Decimal

我正在尝试减少一系列交易,总结一下value属性:

private var transactions = [Transaction]() {
    didSet {
        navigationItem.title = transactions.reduce(0.0) { $0.decimalNumberByAdding($1.value) }
    }
}

但这会给编译器错误:Type of expression is ambiguous without more context

如何通过求和Decimal属性来减少对象数组?

swift nsdecimalnumber
1个回答
0
投票

想通了我的数据模型上的类型设置为Decimal,实际上类型是NSDecimalNumber

enter image description here

所以它必须是:

let total = transactions.reduce(NSDecimalNumber(decimal: 0)) { $0.adding($1.value ?? NSDecimalNumber(decimal: 0)) }
navigationItem.title = "$ \(total)"
© www.soinside.com 2019 - 2024. All rights reserved.