Как правильно отправлять статические (только для чтения) данные в постоянное хранилище Core Data? - PullRequest
3 голосов
/ 07 января 2010

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

Сейчас у меня просто есть список, и он очень маленький (всего 30 записей).

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

(я использую хранилище sqlite по умолчанию).

Ответы [ 3 ]

3 голосов
/ 07 января 2010

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

Я планирую написать небольшую утилиту для Mac (использующую ту же модель данных) для создания файла Core Data SQLite для моего приложения для iPhone (импорт фактически выполняется с веб-сервера). Затем я добавлю файл, который был сохранен утилитой, в проект моего приложения для iPhone.

1 голос
/ 07 января 2010

Чтобы добавить немного к ответу на мой собственный вопрос, я заметил, что пример приложения с кодом Recipes поставляется со стандартным хранилищем SQLite по умолчанию:

// If the expected store doesn't exist, copy the default store.
if (![fileManager fileExistsAtPath:storePath]) {
    NSString *defaultStorePath = [[NSBundle mainBundle] pathForResource:@"Recipes" ofType:@"sqlite"];
    if (defaultStorePath) {
        [fileManager copyItemAtPath:defaultStorePath toPath:storePath error:NULL];
    }
}

Но опять же, для другой цели он содержит статические данные только для чтения в файле plist! (TemperatureData.plist) Так иди разберись ....

0 голосов
/ 22 октября 2012

Мало кто знает это, но вы можете использовать базовые данные в OSX и использовать этот файл хранилища в iOS. Поэтому по сути напишите некоторый код, который использует точно такую ​​же схему и ваши объекты модели (все они должны компилироваться и работать в OSX).

Разработка OSX не так уж и сложна, если вы знаете iOS SDK: -)

НТН

...