Как есть alr eady ответил, точка словаря в том, что он не отсортирован. Существует три типа коллекций в Swift (и Objective-C)
Массив - это упорядоченный список элементов. Используйте это, когда порядок элементов важен.
Словарь представляет собой неупорядоченный набор ключей и значений. Используйте это, когда хотите эффективно получить значение на основе ключа.
Комплект представляет собой мешок неупорядоченных, уникальных предметов. Используйте это, когда вы хотите иметь коллекцию уникальных предметов в определенном порядке.
Для вашего случая кажется, что заказ является для вас важным, но вы хотите сохранить какую-то пару значений.Возможно, что вы должны смотреть на это с помощью массива кортежей:
что-то вроде этого, может быть
let dataPoints = [("A", 1), ("B", 2), ("C", 3)]
for (letter, number) in dataPoints {
print("\(letter), \(number)")
}
, который выводит
A, 1
B, 2
C, 3
Альтернативно
Если вы не» t знать о порядке предметов до их создания, но есть естественный порядок, основанный на ключах, вы можете что-то сделать как это:
let dict = [
"A" : 1,
"B" : 2,
"C" : 3
]
for key in dict.keys.sort() {
guard let value = dict[key] else { break }
print("\(key), \(value)")
}
В этом случае вы получите массив ключей с их порядком сортировки по умолчанию (вы можете использовать различные функции сортировки, если у вас есть другие требования) и выводить ключевые ценности, основанные на этой отсортированном порядке.
'Словари' /' NSDictionary' не сортируются в 'Swift' или' Objective-C', но посмотрите на эти http://stackoverflow.com/questions/25377177/sort-dictionary-by-keys & http://stackoverflow.com/questions/30054854/sort-a-dictionary-in-swift – sbarow
Вот пользовательская реализация упорядоченного словаря: http://timekl.com/blog/2014/06/02/learning-swift- упорядоченные словари/ –