хранить статический массив большого размера - PullRequest
1 голос
/ 09 января 2010

Мне нужно хранить массив из 40000 статических строк (городов).

Как я могу сделать это в Objective-C?

Ответы [ 3 ]

5 голосов
/ 09 января 2010

Лично я бы использовал CoreData и имел бы биты данных, которые мне нужно прочитать, когда они понадобятся. Другой вариант - хранить все это в памяти, используя NSDictionary, но это может потребовать от пользователя достаточного количества памяти.

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

2 голосов
/ 09 января 2010

Я дал оценку как Джеймсу, так и Чаку, поскольку оба ответа верны, учитывая отсутствие контекста.

Мета-вопрос Что вы пытаетесь сделать?

Если вы просто пытаетесь показать список городов, а не строите модель данных, тогда ответ Чака вполне уместен.3000 городов в NSString в NSArray - это на самом деле не так уж и много.

Однако, держу пари, вы делаете больше, чем это.Я был бы удивлен, если бы вы не создавали какую-то модель данных, в которой города связаны с моделью данных, даже небольшую ее часть.В этом случае ответ Джеймса верен;CoreData - это то, что нужно, так как он будет быстрым, легко масштабируемым и предлагает вам инструменты более высокого уровня для моделирования и взаимодействия с вашими данными.

2 голосов
/ 09 января 2010
  1. Создать NSArray

  2. Сохранение статических строк в массиве

  3. Прибыль

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...