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

От ответы Команды C# на часто задаваемые вопросы :

, Когда Вы добавляете ссылки на сборки или используете ключевое слово 'использования', , csc.exe проигнорирует любой блок, который Вы на самом деле не использовали в своем коде ... Не [тратьте впустую] свое время, снимая неиспользованный' using' операторы или ссылки на сборки из Вашего приложения. компилятор C# сделает так для Вас автоматически.

можно проверить, что это на самом деле имеет место путем вызова Assembly.GetReferencedAssemblies(); Вы будете видеть, что что-либо, что не используется, не будет на самом деле включено в список.

основная утилита в снятии неиспользованных -

  • , легче видеть то, что Ваш код на самом деле использует
  • , Это помешает Вашему Intellisense загрязняться вещами, которые Вы на самом деле не собираетесь использовать.

55
задан 4thSpace 25 September 2009 в 06:26
поделиться

2 ответа

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

NSMutableDictionary *dict;

/* Create the dictionary. */

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

РЕДАКТИРОВАТЬ: На самом деле, если я понимаю, что вы пытаетесь сделать то, что вы хотите, легко сделать с помощью быстрого перечисления, например:

NSMutableDictionary *dict;

/* Put stuff in dictionary. */

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

РЕДАКТИРОВАТЬ: исправлена ​​опечатка, указанная Марко.

122
ответ дан 26 November 2019 в 17:48
поделиться

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

9
ответ дан 26 November 2019 в 17:48
поделиться