Подтвердить что ты не робот

Доступ к объектам в NSMutableDictionary по индексу

Чтобы отображать ключ/значения из NSMutableDictionary последовательно (в виде таблицы), мне нужно получить к ним доступ по индексу. Если доступ по индексу может дать ключ в этом индексе, я мог бы получить значение. Есть ли способ сделать это или другой метод?

4b9b3361

Ответ 1

Вы можете получить NSArray, содержащий ключи объекта, используя метод allKeys. Затем вы можете изучить это по индексу. Обратите внимание, что порядок, в котором ключи отображаются в массиве, неизвестен. Пример:

NSMutableDictionary *dict;

/* Create the dictionary. */

NSArray *keys = [dict allKeys];
id aKey = [keys objectAtIndex:0];
id anObject = [dict objectForKey:aKey];

EDIT: На самом деле, если я понимаю, что вы пытаетесь сделать, чего хотите, легко сделать с помощью быстрого перечисления, например:

NSMutableDictionary *dict;

/* Put stuff in dictionary. */

for (id key in dict) {
    id anObject = [dict objectForKey:key];
    /* Do something with anObject. */
}

EDIT: исправлена ​​опечатка, отмеченная Марко.

Ответ 2

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