核心数据实体属性的总和数组
sum array of Core Data entity attributes
我有两个核心数据实体,proposal 和 wageClass,它们彼此之间存在一对多关系。 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) 括号和括号是关于什么的。预先感谢您的意见!
方括号和括号表示proposalNumberOfWorkers!
是一个NSSet
。 NSSet
无法识别 reduce
方法。 NSSet
和 Set
是桥接的,因此您可以通过将 proposalNumberOfWorkers
转换为 Set
:
来获得所需的内容
let proposalNumberOfWorkers = proposal.value(forKeyPath: "wageClasses.numberOfWorkers") as! Set<Int>
然后使用reduce
.
我有两个核心数据实体,proposal 和 wageClass,它们彼此之间存在一对多关系。 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) 括号和括号是关于什么的。预先感谢您的意见!
方括号和括号表示proposalNumberOfWorkers!
是一个NSSet
。 NSSet
无法识别 reduce
方法。 NSSet
和 Set
是桥接的,因此您可以通过将 proposalNumberOfWorkers
转换为 Set
:
let proposalNumberOfWorkers = proposal.value(forKeyPath: "wageClasses.numberOfWorkers") as! Set<Int>
然后使用reduce
.