2012-03-01 6 views
0

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

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

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

Хорошо, это исправлено.

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

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