Я почти закончил работу над релизом 1.1 моего первого приложения для iOS, в нем я внес два небольших изменения в основную модель данных. Точнее, я добавил два атрибута в одну из моих таблиц. Это мое первое приложение с базовыми данными и, следовательно, первое обновление базовых данных в живом приложении, и я немного нервничаю по поводу отправки кода, который может не работать для моих текущих пользователей. Поскольку это небольшое обновление, я предполагаю, что метод автоматической миграции Apples подойдет, но я не хочу гадать.
Соответствующий код выглядит так:
NSError *error = nil;
__persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
[NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];
if (![__persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:options error:&error])
{
//NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
В 1.1 я добавил NSDictionary *options
.
В контроллере представления я убеждаюсь, что нужные строки не nil, вот так:
if (currentPage.inputType == @"drawing") {
[pageView changeToDrawing];
} else if (currentPage.inputType == @"text") {
[pageView changeToText];
} else {
currentPage.inputType = @"text";
[pageView changeToDrawing];
}
В общем, достаточно ли этих изменений или мне нужно сделать что-то еще?