Подготовка к выпуску приложения coredata - PullRequest
3 голосов
/ 28 марта 2012

Я заканчиваю создание версии 1.0 моего нового проекта.впервые я использую coredata.

приложение использует только 1 модель, все данные будут предоставлены пользователем (поэтому я не загружаю данные в приложение).

изКонечно, я уже работаю над обновлениями для приложения в разных ветках и вижу некоторые изменения в datamodel в будущем.изменения в модели будут состоять только из:

  • добавление сущностей
  • добавление атрибутов к существующим сущностям
  • сущности не имеют никакого отношения друг к другу.

Я прочитал: Приложение для iPhone с CoreData Оттуда я продолжил: Легкая миграция , где я читал о способности coredatas обновлять своимодель автоматически, если изменения незначительны (если я правильно прочитал, мои изменения включены в нее).

в документе по миграции Apple, я нашел код для автоматической миграции:

NSError *error = nil;
NSURL *storeURL = <#The URL of a persistent store#>;
NSPersistentStoreCoordinator *psc = <#The coordinator#>;
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
    [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
    [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];

BOOL success = [psc addPersistentStoreWithType:<#Store type#>
                    configuration:<#Configuration or nil#> URL:storeURL
                    options:options error:&error];
if (!success) {
    // Handle the error.
}

мои вопросыследующее:

  • куда бы я положил этот код?теперь я нашел дополнительную информацию о ней
  • я предполагаю, что этот код будет необходим только в обновленной версии приложения?
  • мне нужны какие-либо другие приготовления в моем приложении версии 1.0, чтобы разрешитьболее поздние уведомления и обновления coredata, или мне не нужно думать об этом в первом выпуске?

1 Ответ

1 голос
/ 28 марта 2012
  1. У меня есть этот код в методе

    - (NSPersistentStoreCoordinator *) persistentStoreCoordinator

Там уже должен быть код типа

if (![__persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error])

, если вы разрешили Xcode создавать основные методы данных.

  1. Этот код необходим только в обновлении, которое вводит новую модель.

  2. Насколько я знаю, нет.Это все.

...