【发布时间】:2016-10-21 20:55:19
【问题描述】:
我有一个 Entry 类,其中有一个 FieldValue 对象列表:
class Entry: Object{
let fieldValues = List<FieldValue>()
//...
}
class FieldValue: Object{
dynamic var total = 0
//...
}
我对查询中的一些条目进行了一系列过滤,如下所示:
var entryObjects = realm.objects(Entry.self).filter(...)
我现在想要sum total 值,用于所有fieldValues 仍然存在于我过滤的entryObjects 中。因此,如果我遍历所有条目,我可以构建一个 FieldValue 对象数组,如下所示:
var fieldValues = [FieldValue]()
for entry in entryObjects{
fieldValues += entry.fieldValues
}
我现在有 fieldValues 类型的 [FieldValue]。但是为了在其total 属性上执行sum,它必须是Results<FieldValue> 类型:
let total:Int = fieldValues.sum(ofProperty: "total") <-- /// Error! ///
如何将我的[FieldValue] 数组转换回Results<FieldValue>,以便对其进行聚合操作?
【问题讨论】: