Лучший способ хранить статические эталонные массивы / dicts в Cocoa Touch - PullRequest
0 голосов
/ 28 октября 2008

У меня есть несколько массивов массивов или массивов dicts, которые я хотел бы сохранить в своем приложении для iPhone. Эти списки являются статическими и не будут изменены приложением или пользователями. Иногда они могут отображаться, но, скорее всего, они будут повторяться и сравниваться с некоторым входным значением. Будет ли лучший способ хранить эти массивы - хранилище данных CoreData / SQLite, в заголовочном файле или что-то, о чем я не думаю? Я видел создание класса, в котором для доступа есть только эти массивы, но я не уверен, что это лучший путь.

Ответы [ 4 ]

5 голосов
/ 28 октября 2008

Использовать файл списка свойств. Загрузите его с помощью NSDictionary + dictionaryWithContentsofFile:.

4 голосов
/ 31 октября 2008

Я бы пошел на плист подход.

4 голосов
/ 29 октября 2008

Я бы сделал следующее:

@implementation DataSource
+ (NSArray *)someData
{
  static NSArray *data = nil;
  if (!data) {
    data = [[NSArray arrayWithObjects:..., nil] retain];
  }
  return data;
}
@end

Дополнительные массивы или массивы dicts будут добавлены в качестве методов класса для этого класса.

1 голос
/ 28 октября 2008

В зависимости от того, как часто вы хотите изменить или локализовать элементы, а также от ваших требований ко времени поиска, статический массив также может быть подходящим вариантом. Однако для постоянных данных SQLite, вероятно, не тот путь, если у вас нет сложных требований к запросу (в отличие от просто индекса).

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