Перенос данных ядра iPhone с несколькими моделями

100
13

У меня есть две модели в моем проекте, я хочу разрешить версии одному из них. Вот что я сделал:


    Выбрано modelOne.xcdatamodel, затем Design > Data Model > Добавить версию модели.
    Щелкните по команде + i, затем добавьте версию в modelOne.xcdatamodel внутри modelOne.xcdatamodeld
    Измененная модельOne.xcdatamodel, просто добавила некоторый атрибут.

    В делегате я добавил словарь параметров в NSPersistentStoreCoordinator, и я получаю NSManagedObjectModel, объединив две модели, например:


    NSString *path1 = [[NSBundle mainBundle] pathForResource:@"modelOne" ofType:@"momd"];
    NSURL *momURL1 = [NSURL fileURLWithPath:path1];
    NSManagedObjectModel *modelOne = [[NSManagedObjectModel alloc] initWithContentsOfURL:momURL1]; NSString *path2 = [[NSBundle mainBundle] pathForResource:@"modelTwo" ofType:@"mom"];

    NSURL *momURL2 = [NSURL fileURLWithPath:path2];
    NSManagedObjectModel *modelTwo = [[NSManagedObjectModel alloc] initWithContentsOfURL:momURL2];

    NSManagedObjectModel *managedObjectModel = [NSManagedObjectModel modelByMergingModels:[NSArray arrayWithObjects:modelOne, modelTwo, nil]];


    В последнее время я сделал чистую и сборку, я получил сообщение об ошибке "Не могу найти модель для хранилища источников".


Как я могу это исправить? (Примечание: если я просто использую mergedModelFromBundles, я получил еще одну ошибку: "Невозможно объединить модели с двумя разными объектами с именем Entity1"

спросил(а) 2010-07-13T19:07:00+04:00 10 лет, 2 месяца назад
1
Решение
-6

У меня была аналогичная проблема. Оказалось, что старый файл с образцом .mom все еще находился в комплекте приложений на симуляторе. По-видимому, когда вы очищаете проект, он не уничтожает приложение на симуляторе. Вручное удаление приложения с симулятора, а затем очистка перед сборкой снова решило проблему.

ответил(а) 2010-07-25T18:19:00+04:00 10 лет, 2 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема