核心数据实体属性的总和数组
Posted
技术标签:
【中文标题】核心数据实体属性的总和数组【英文标题】:sum array of Core Data entity attributes 【发布时间】:2017-02-03 03:31:04 【问题描述】:我有两个核心数据实体,proposal 和工资类,每个实体都具有一对多的关系。 WageClass 有一个 Int
属性 numberOfWorkers。我需要对与每个提案相关的 numberOfWorkers 数组求和。
目前我用这个:
let proposalNumberOfWorkers = proposal.value(forKeyPath: "wageClasses.numberOfWorkers")
当我这样做时:
let arraySum = proposalNumberOfWorkers.reduce(0, +)
我收到一个错误,指出类型 Any 没有成员减少。当我消除前一行代码并尝试像这样打印数组时:
totalWorkersLabel.text = "\(proposalNumberOfWorkers!)"
UILabel
看起来像这样:(15)
(15 是数组中的第一个或最近的项目,我不确定是哪个)
所以我想知道,1) 我如何使它成为 .reduce,以及 2) 括号和括号是关于什么的。提前感谢您的 cmets!
【问题讨论】:
【参考方案1】:方括号和圆括号表示proposalNumberOfWorkers!
是NSSet
。 NSSet
无法识别 reduce
方法。 NSSet
和 Set
是桥接的,因此您可以通过将 proposalNumberOfWorkers
转换为 Set
来获得所需的内容:
let proposalNumberOfWorkers = proposal.value(forKeyPath: "wageClasses.numberOfWorkers") as! Set<Int>
然后使用reduce
。
【讨论】:
谢谢!效果很好!以上是关于核心数据实体属性的总和数组的主要内容,如果未能解决你的问题,请参考以下文章