Dictionary.merging(_:uniquingKeysWith:)
Объединяет два словаря.
Сигнатура
func merging(_ other: [Key: Value], uniquingKeysWith: (Value, Value) -> Value) -> [Key: Value]Возвращает новый словарь, объединяя текущий с other. Замыкание uniquingKeysWith решает конфликты совпадающих ключей.
let a = ["x": 1, "y": 2]
let b = ["y": 10, "z": 3]
let m = a.merging(b) { cur, new in cur + new }
print(m["y"]) // Optional(12)