Как избежать сортировки в NSDictionary - PullRequest
0 голосов
/ 21 апреля 2010

Я использовал NSDictionary и заметил, что объекты в словаре сортируются автоматически по ключам, поэтому мой вопрос заключается в том, как избежать этой сортировки, любой флаг, доступный для его отключения, поэтому я получаю объект таким же заказ, который я ввел.

Я знаю, что вы, возможно, думаете, какая разница в словаре, поскольку мы получаем значение по отношению к ключу, но сначала я получаю allKeys, из которых я получаю массив ключей, этот порядок мне нужен, чтобы он был в порядок того, как я вошел так же, как в NSArray.

1 Ответ

1 голос
/ 22 мая 2010

Полагаю, что в NSDictionary не будет метода для управления сортировкой, поскольку NSDictionary - это хеш-таблица, в которой используется хеш-функция для выбора места для хранения значений (для быстрого доступа).

Для настройки словаря вы можете использовать CFDictionaryRef, там вы можете написать свой собственный обратный вызов. Вы можете написать свою собственную функцию CFDictionaryHashCallBack, чтобы вычислить место для хранения. CFDictionary «соединен бесплатно» с NSDictionary.

С уважением
Девара Гудда

...