Ничего общего с синтаксисом замыкающего замыкания не имеет.
Если вы попробуете приведенный ниже код, он также будет жаловаться:
let firstValues = Dictionary(pairs, uniquingKeysWith: { $0 })
Компилятор жалуется, что вы не используете новое значение.У вас есть несколько способов обойти.
1) дать значениям имя:
let firstValues1 = Dictionary(pairs) { oldValue, newValue in oldValue }
2) вы также можете игнорировать значение, используя подчеркивание
let firstValues2 = Dictionary(pairs) { oldValue, _ in oldValue }
3) использовать любой тип использования старого значения, а также нового значения.Компилятору достаточно простой печати.
let firstValues3 = Dictionary(pairs) {
print($1)
return $0
}