Convert Swift Array of Realm Objects Back to Realm Results
我有一个
1 2 3 4 5 6 7 8 9 | class Entry: Object{ let fieldValues = List<FieldValue>() //... } class FieldValue: Object{ dynamic var total = 0 //... } |
我对查询中的一些条目进行了一系列过滤,如下所示:
1 | var entryObjects = realm.objects(Entry.self).filter(...) |
我现在想要
1 2 3 4 | var fieldValues = [FieldValue]() for entry in entryObjects{ fieldValues += entry.fieldValues } |
我现在有
类型
1 | let total:Int = fieldValues.sum(ofProperty:"total") <-- /// Error! /// |
如何将我的
这样做:
1 2 | let entryObjects = realm.objects(Entry.self).filter(...) let total = entryObjects.map({ $0.fieldValues.sum(ofProperty:"total") }).reduce(0, +) |
当 Realm 支持嵌套键路径上的聚合操作 (#3392) 时,可以为此使用 KVC,但这仍在进行中。