尝试减少 Decimal 属性给出:表达式类型不明确,没有更多上下文
Posted
技术标签:
【中文标题】尝试减少 Decimal 属性给出:表达式类型不明确,没有更多上下文【英文标题】:Trying to reduce Decimal property gives: Type of expression is ambiguous without more context 【发布时间】:2018-03-04 19:27:22 【问题描述】:我有一个名为 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 属性求和来减少对象数组?
【问题讨论】:
【参考方案1】:发现尽管我的数据模型上的类型设置为Decimal
,但实际上类型是NSDecimalNumber
。
所以它必须是:
let total = transactions.reduce(NSDecimalNumber(decimal: 0)) $0.adding($1.value ?? NSDecimalNumber(decimal: 0))
navigationItem.title = "$ \(total)"
【讨论】:
以上是关于尝试减少 Decimal 属性给出:表达式类型不明确,没有更多上下文的主要内容,如果未能解决你的问题,请参考以下文章
mysql字段类型为decimal,则java 实体类的对应属性类型应该为啥
C语言类型的自动转换时,啥类型能转换成啥类型呀?、嘿嘿,比如类型和decimal类型混合在一个表达