У меня есть словарь var dic = [TimeInterval: [CustomObject: Double]]()
TimeInterval
- это отметка времени. CustomObject
- это объект со свойством id
внутри (типа String
). И AudioLevel
это двойной. Мне удалось напечатать объект внутри с помощью:
for (key, values) in dic {
for value in values {
print("\(key): participant id : \(value.key.id) ... AudioLevel: \(value.value)")
}
}
В моем примере это печатается:
1581361504.064956: participant id : id1 ... AudioLevel: 1.8426420022371925
1581361504.0642018: participant id : id2 ... AudioLevel: 0.0030890756301589217
1581361504.065456: participant id : id2 ... AudioLevel: 4.256374635644427
1581361504.061193: participant id : id1 ... AudioLevel: 1.744451095262131
Теперь я хотел бы иметь словарь, который содержит [CustomObject: Int]
, где Int
звание участника. Здесь id2
будет первым (4.256374635644427 + 0.0030890756301589217
> 1.744451095262131 + 1.8426420022371925)
Может быть, мне придется сделать уменьшение на основе id + sum
уровня звука, а затем flatMap
, чтобы получить мои CustomObject
?