plists vs Core Data для хранения параметров - PullRequest
1 голос
/ 10 августа 2010

Я пишу приложение для iPad, которое можно будет дополнять новыми товарами посредством покупок в приложении.Например, мой текущий план состоит в том, чтобы иметь шаблон jpg и соответствующий файл plist с параметрами, которые мне нужны, чтобы развернуть этот шаблон в полное изображение.

Пользователь выберет один jpg / png из списка небольших миниатюр - список содержится в Core Data - и приложение найдет соответствующий список для правильного отображения jpg / png.У меня будет только около 10 таких открытых одновременно.Но я мог бы закончить с хранением 1000 jpgs и списков.

Приводит ли хранение большого количества маленьких файлов к проблемам с приложением?

Я собираюсь пойти по пути, а не сохранять параметры в Core Data, поэтому, если мне нужно будет добавить параметры позже,Мне не нужно переносить базу данных, просто измените доступ в коде.(И когда я создаю шаблоны, легче сконцентрироваться на файле plist, а не на строке Core Data.)

В данный момент приложение работает очень хорошо, но меня беспокоит будущее...

Мое приложение также использует Core Data для других целей, так что я могу изменить его, если приложение будет перегружено количеством файлов.

Спасибо.

1 Ответ

2 голосов
/ 10 августа 2010

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

Помните, что пользователь не обладает такой же гибкостью и простотой управления файлами на мобильных устройствах, как на немобильных платформах.Дизайн, который работает на немобильных устройствах, не работает на устройстве, используемом на ходу одним пальцем.

Однако, когда вы говорите:

И когда я создаю шаблоны, проще сконцентрироваться на файле plist, а не на строке Core Data.

... использование строки означает, что вы не полностью освоили утилиту Core Data.Базовые данные не используют строки, столбцы, таблицы или объединения.Это система управления графами объектов, которая иногда использует SQL негласно.

Базовые данные предназначены для обработки данных таким образом, чтобы они легко взаимодействовали с остальными объектно-ориентированным API для пользовательского интерфейса и других служб.Когда вы используете другие системы управления данными, такие как plist, вы, скорее всего, в конечном итоге вручную дублируете большую часть функциональных возможностей Core Data.

...