Проблемы миграции с UIManagedDocument

Я начал использовать CoreData в своем приложении, следуя урокам Stanford CS193P, касающимся использования нового класса iOS 5 UIManagedDocument. Сам подход довольно прост, но я не могу понять, как бороться с модификациями модели, которые я продолжаю делать. Вот как я создаю свой объект UIManagedDocument (внутри appDelegate, чтобы любой другой класс мог его использовать ):

if (!self.database) {
    NSURL *url=[[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
    url = [url URLByAppendingPathComponent:@"AppName"];

    UIManagedDocument *doc = [[UIManagedDocument alloc] initWithFileURL:url];
    NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
                             [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
                             [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];
    doc.persistentStoreOptions = options;
    self.database=doc;
    [doc release];
}

. У меня проблема в том, что каждый раз, когда я немного изменяю свою модель данных.xc, я не могу получить весь контент, ранее хранившийся в документе, а также для создания любого нового экземпляра. На самом деле это приводит к следующему исключению:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'This NSPersistentStoreCoordinator has no persistent stores.  It cannot perform a save operation.'

Я думал, что установка свойства "options" управляемого документа решила бы проблему, но, видимо, этого недостаточно. Кто-нибудь может помочь? Не удалось найти другие вопросы, которые действительно соответствуют моим точным потребностям.

6
задан micamoita 19 March 2012 в 13:24
поделиться