我有一个名为Performance
的Realm Object类,看起来像这样
class Performance: Object {
@objc dynamic var move = ""
@objc dynamic var score = 0
}
当我打印Realm对象的结果时,我得到类似的东西
[Performance {
move = Run;
score = 3;
}, Performance {
move = Walk;
score = 3;
}, Performance {
move = Run;
score = 2;
}]
然后我尝试将领域结果转换为数组,以便我可以将表演与相同的动作合并并添加他们的分数,以便我可以向用户显示他们的哪个动作具有最高和最低分数。
我想知道是否有可能将Performance
与同一个动作合并并添加其分数,以便数组看起来像这样。
[Performance {
move = Run;
score = 5;
}, Performance {
move = Walk;
score = 3;
}]
但它们对我的问题并没有多大帮助。
答案 0 :(得分:1)
您可以遍历数组并创建一个以移动类型为关键字的字典。
例如:
var totals: [MoveType: Int] = [:]
for item in performances {
totals[item.move] = item.score + (totals[item.move] ?? 0)
}
对于每个项目,这将为相关移动类型的字典添加分数,如果它是具有该移动类型的第一个项目,则创建新的字典条目。