У вас, похоже, есть предположение, что словарь заказан, это не так. См. Раздел Collection Types руководства по быстрому программированию. Что это значит? Это означает, что нет нет гарантии, что значения или ключи хранятся в том порядке, в котором вы их создаете. Единственная гарантия, которую вы имеете, это то, что доступ к значению по ключу будет возвращать это значение.
Если вам требуются ключи, к которым вы можете получить доступ в определенном порядке, вам необходимо предоставить эту возможность.
Если вы посмотрите на Swift Standard Library Reference, он документирует, какие методы мы можем использовать в словаре.
У вас есть следующие свойства и функции для работы со индексами со словарями.
Свойства:
startIndex
endIndex
Функции
func indexForKey(_ key: Key) -> DictionaryIndex<Key, Value>?
func removeAtIndex(_ index: DictionaryIndex<Key, Value>) -> (Key, Value)
Словари также соответствуют indexable protocol.
Типы Коллекция
Swift обеспечивает три основных типа коллекции, известные , как массивы, множество и словари, для хранения коллекций значений. Массивы представляют собой упорядоченные коллекции значений. Наборы неупорядочены коллекции уникальных значений. Словари - это неупорядоченные коллекции ассоциаций с ключом.
Это нормально, это не упорядоченный набор данных.http: // stackoverflow.com/questions/1295459/are-keys-and-values-in-an-nsdictionary-ordered –
Словари представляют собой неупорядоченное представление ключа. Поэтому нормально не печатать первое значение словаря. – ridvankucuk
Чего вы хотите достичь. вы сначала знаете основную разницу между словарем и массивом и упорядоченным dic – Spynet