iOS, насколько большим может быть NSSet/NSArray/NSDictionary?

Я чувствую, что должен сначала описать, что я пытаюсь сделать, а затем я задам свой вопрос (вопросы).

Предыстория

У меня много слов (может быть до 5000). Я хочу иметь возможность отображать на экране случайные 3 из этих слов, и когда пользователь нажимает кнопку, он будет отображать еще 3 случайных слова, но без дубликатов (т.е. без повторного представления одного и того же слова пользователю). Это будет повторяться, пока не истечет таймер.

Возможное решение

Если бы количество слов было меньше, я бы просто добавил их в NSMutableSet, использовал -anyObject 3 раза, чтобы получить слова, а затем каждый раз удалял 3 слова из набора, чтобы они повторно не используется при следующем вызове -anyObject. Проблема в том, что я не знаю, смогу ли я иметь в iOS набор из 5000 NSString.

Вопрос

Итак, мои вопросы:

  1. Могу ли я иметь объект коллекции (NSSet, NSArray, NSDictionary) с примерно 5000 строками в iOS без каких-либо проблем с производительностью?
  2. Если нет, то как мне прочитать подмножество строк из файла, чтобы получить приемлемый размер массива, а затем извлечь больше, когда я опустошу этот массив?
  3. Как лучше хранить эти строки? Это всего лишь слова, поэтому не очень длинные. Я думал просто добавить их в файл со строкой в ​​каждой строке и прочитать их в объект коллекции при загрузке приложения.

Заранее спасибо.

5
задан Grant J 3 June 2012 в 08:56
поделиться