plist или sqlite

Поместите все классы, которые Вы хотите сериализировать в отдельный блок, и затем использовать sgen инструмент для генерации блока сериализации для сериализации к XML. Используйте атрибуты XML для управления сериализацией.

, Если необходимо настроить блок сериализации (и Вы будете потребность, что для поддержки классов, которые не являются IXmlSerializable и классами, которые содержат абстрактные узлы) затем дайте sgen команду выводить исходный код в отдельный файл и затем добавлять его к решению. Тогда можно изменить его по мере необходимости.

http://msdn.microsoft.com/en-us/library/bk3w6240 (По сравнению с 80) .aspx

FWIW, мне удалось сериализировать всю Платформу AdsML (более чем 400 классов) использующий эту технику. Действительно требовалась большая ручная настройка, но существует не обходящий это, если Вы рассматриваете размер платформы. (Я использовал отдельный инструмент для движения от XSD до C#)

8
задан Robert Harvey 28 September 2010 в 22:34
поделиться

2 ответа

Plist и SQLite имеют разные варианты использования.

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

SQLite - это полноценная база данных. Размеры файлов (на iphone) практически не ограничены. Возможности сортировки встроены. Возможны запросы и конструкции реляционных таблиц.

10
ответ дан 5 December 2019 в 13:00
поделиться

В C99 вы можете сделать следующее:

int jagged_row0[] = {0,1};
int jagged_row1[] = {1,2,3};

int (*jagged[])[] = { &jagged_row0, &jagged_row1 }; // note the ampersand

// also since compound literals are lvalues ...
int (*jagged2[])[] = { &(int[]){0,1}, &(int[]){1,2,3} };  

Единственная разница здесь (по сравнению с ответом rampion) состоит в том, что массивы не распадаются на указатели, и нужно обращаться к отдельным массивам через другой уровень косвенности - (например, * jagged [0] - и размер каждой строки должен быть записан - то есть sizeof (* jagged [0]) не будет компилироваться) - но они неровные - до костей;)

Особенно, если вы собираетесь выполнять сложные запросы, извлечение, поиск, сортировку и т. Д.

Из вашего краткого описания я бы порекомендовал SQLite, но я не могу ответить на ваш вопрос относительно производительности.

Что касается примера того, кто использовать SQLite на iphone. У Apple есть пример того, как это сделать здесь

3
ответ дан 5 December 2019 в 13:00
поделиться
Другие вопросы по тегам:

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