Формат данных для содержания тяжелое приложение для iPhone - Plist или XML?

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

Я рассмотрел связывание данных как XML, и загрузите его, когда приложение запускается, но XML содержал бы много вложенных структур и был бы чем-то вроде боли для парсинга.

Было бы лучше использовать plist? Я обеспокоен использованием памяти, и plists загружаются полностью в память - они могут быть проанализированы в блоках? Существует ли максимальный размер к plist и насколько эффективный они?

Я не уверен, как большой связанное содержание будет все же, но я должен предположить, что это могло быть где угодно от 500k до 4 МБ.

1
задан Brian Tompsett - 汤莱恩 29 December 2015 в 13:04
поделиться

4 ответа

Списки свойств - это собственный формат сериализации для всего, что унаследовано от NSObject. Есть некоторые проблемы с сохранением изменяемого состояния, но Apple предпочитает общий plist. Существуют методы синтаксического анализа, доступные с NSData, которые абстрагируют детали разметки. Что касается XML, вам нужно написать собственный синтаксический анализатор.

Для получения дополнительных сведений см. это .

Следует отметить, что файл plist сам по себе является строгим XML; при выборе plist на стороне сервера вы должны иметь возможность анализировать XML-файл plist и обрабатывать каждые два узла как пары ключ-значение.

2
ответ дан 3 September 2019 в 00:06
поделиться

По моему опыту, plist намного проще поддерживать и лучше в долгосрочной перспективе. У меня аналогичная ситуация, и я написал приложение, которое генерирует файл данных, который мое приложение читает, используя все те же API без дополнительной настройки. Он сразу же приступил к работе (если вы знакомы с Cocoa.)

Его можно прочитать даже с помощью приложения Property List Editor, включенного в iPhone SDK. Хотя я не рекомендую его для очень больших структур данных вручную, поэтому я упомянул, как я создал для этого другое приложение - код, генерирующий данные и использующий его, почти имеет сравнение 1: 1, они настолько похожи. Редактор plist действительно очень удобен для настройки элемента или редактирования данных малого и среднего размера, и, опять же, он скрывает лежащий в основе XML.

1
ответ дан 3 September 2019 в 00:06
поделиться

Если удобочитаемость является целью разработки, вам следует рассмотреть JSON. Это не правильный ответ для каждого приложения, но его стоит рассмотреть. Json-framework с открытым исходным кодом (здесь: http://code.google.com/p/json-framework/ ) ОТЛИЧНЫЙ и предоставляет очень удобные методы для кодирования и декодирования строк JSON в объекты, как категория на NSString. Итак, вы можете сказать:

NSString *jsonString = ...// however you're loading the goods
NSDictionary *myData = [jsonString JSONValue];

... бум, вы работаете с собственными объектами. За мои деньги это даже проще, чем читать лист.

0
ответ дан 3 September 2019 в 00:06
поделиться

Почему бы не отправить содержимое в формате HTML? (Может быть, разбить на главы или что-то подобное)

Таким образом, вы могли бы сразу отображать его через WebView без какого-либо разбора или переформатирования.

-1
ответ дан 3 September 2019 в 00:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: