Большой вопрос - PullRequest
       5

Большой вопрос

1 голос
/ 18 августа 2011

У меня действительно большой файл списка свойств (размером примерно 2 МБ), и мне нужно использовать данные из него в моем приложении.Однако было бы неправильно хранить все данные в каком-либо обязательном порядке из-за их размера.Я имею в виду что-то вроде этого:

NSString *path = [[NSBundle mainBundle] pathForResource:@"file" ofType:@"plist"];
someDictionary = [[NSDictionary alloc] initWithContentsOfFile:path];

Что бы вы посоветовали получить из этого списка или использовать вместо файла списка.

1 Ответ

2 голосов
/ 08 сентября 2011

Я бы не стал оптимизировать это до того, как вы профилируете свое приложение. Использование 2 МБ памяти звучит как много, но есть игры, которые загружают несколько раз только для звуков и изображений. Если в вашем приложении все эти 2 МБ данных, то я думаю, что вполне нормально просто загрузить его в память и использовать.

Если, с другой стороны, загрузка идет слишком медленно, вы можете рассмотреть возможность использования NSKeyedArchiver и NSKeyedUnarchiver для загрузки ваших данных. Они быстрее, чем загрузка списков, и вы можете выборочно загружать порции данных, если вы можете разделить их на логические части.

Другой вариант, конечно, использовать SQLite или Core Data. Они идеально подходят для «таблиц» данных. Оба могут работать с большими файлами.

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