Вы не можете самостоятельно отсортировать словарь.
Вам нужна отдельная структура данных, которая содержит отсортированное представление вашего словаря. Например:
let dict = ["A": 1, "B": 2]
let sortedTuples1 = dict.sorted{ $0.value < $1.value }
let sortedTuples2: [(String, Int)] = dict.sorted(by: { (element0, element1) in
return element0.value < element1.value
})
Первая версия sortedTuples1
- это просто короткий синтаксис для sortedTuples2
. См. Также Sequence.sorted
и закрытия в Swift .
Примечание : отсортированный Array
кортежей не зависит от словаря, и при удалении или добавлении некоторых элементов изменение НЕ отражается в обеих структурах данных. Вам придется сделать это вручную.