Чтобы отображать ключ/значения из NSMutableDictionary последовательно (в виде таблицы), мне нужно получить к ним доступ по индексу. Если доступ по индексу может дать ключ в этом индексе, я мог бы получить значение. Есть ли способ сделать это или другой метод?
Доступ к объектам в NSMutableDictionary по индексу
Ответ 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
словаря; а затем вы можете получить доступ к массиву по индексу. однако словарь сам по себе не имеет встроенного порядка, поэтому упорядочение ключей, которые вы получаете до и после изменения словаря, может быть совершенно другим.