+ entityForName: не удалось найти NSManagedObjectModel для имени объекта - PullRequest
0 голосов
/ 01 марта 2012

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

Я знаю, что он пытается установить контекст управляемого объекта в этой строке

NSEntityDescription *entity = [NSEntityDescription entityForName:@"Question" inManagedObjectContext:managedObjectContext];
    [fetchRequest setEntity:entity];

Программа аварийно завершает работу в первом контроллере представления, когда пытается получить сущность Вопрос.Я объявляю / создаю AppDelegate

- (NSManagedObjectModel *)managedObjectModel {

    if (managedObjectModel != nil) {
       return managedObjectModel;
    }

    NSString *path = [[NSBundle mainBundle] pathForResource:@"PSQ" ofType:@"momd"];
    NSURL *momURL = [NSURL fileURLWithPath:path];
    managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:momURL];

    //managedObjectModel = [[NSManagedObjectModel mergedModelFromBundles:nil] retain];    

    return managedObjectModel;
}

Когда я устанавливаю точку останова в делегате приложения, она никогда не попадает туда, пока приложение не падает.Сначала идет к контроллеру вида.

Странно то, что я не менял свою базовую функциональность данных около 6 недель, так как она была закончена и работала.

Есть идеи, что я мог бы сделать?

Это начало происходить, когда я добавлял NSUSerdefaults для NSSwitch, чтобы переключать опцию отображения на экран или нет.

Обновление: приложение вылетает в точке, упомянутой только в версии iPhoneпроходит через проблемы с управляемыми объектами в iPad.Что будет в файлах .xib, которые будут отличаться, что приведет к ошибке потока в managedObjectContext?

1 Ответ

1 голос
/ 01 марта 2012

Хорошо, исправили.

Оказывается, что каким-то образом делегат приложения был перемонтирован в моем перо iphone. Я предполагаю, что это то, что Xcode пытался сказать мне, когда он запускает mainViewController перед делегированием приложения для контекста управляемого объекта.

Я установил класс обратно на UIApplication, затем связал делегата с делегатом приложения в IB, и все в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...