NSInternalInconsistencyException при сохранении второго объекта в приложении iOS - PullRequest
0 голосов
/ 29 ноября 2011

Я прошел через много вопросов, но это все еще неясно.

У меня есть 5 вкладок в моем приложении (приложение с панелью вкладок), и каждая вкладка отвечает за то, что некоторые детали помещаются в 1 таблицу.Таким образом, в действительности одна таблица для каждой вкладки.

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

Завершение приложения из-за необработанного исключения NSInternalInconsistencyException, причина: '+ entityForName: моглине найти NSManagedObjectModel для имени объекта 'OtherDetail' *

Необходимо ли передавать данные во все объекты за один раз?

(void)persistOtherDetail:segCtrlValue:genInfoId:type:labelValue{
NSLog(@"Persisting %@",type);

NSLog(@"seg control value %@", segCtrlValue);

OtherDetail *otherDetail = (OtherDetail *)[NSEntityDescription insertNewObjectForEntityForName:@"OtherDetail" inManagedObjectContext:managedObjectContext];
otherDetail.enteredValue = segCtrlValue;

otherDetail.genInfoId = genInfoId;
otherDetail.checklistDesc = labelValue;
otherDetail.checklistName = type;

NSError *error;

if (![managedObjectContext save:&error])
{
    NSLog(@"Problem saving: %@", [error localizedDescription]);
}
}

1 Ответ

0 голосов
/ 29 ноября 2011

В вашем коде ничего не выскакивает сразу, но по моему опыту эта ошибка часто возникает из-за того, что экземпляр managedObjectContext недопустим или из-за простой орфографической ошибки при ссылке на сущность или атрибут сущности.Во-первых, вы можете установить проверку контекста (перед созданием объекта OtherDetail) и создать его экземпляр, если nil:

if (managedObjectContext == nil) { managedObjectContext = [(MyAppDelegateName *)[[UIApplication sharedApplication] delegate] managedObjectContext];

В противном случае, я бы вернулся и проверил наличие орфографических ошибок.Скорее всего, вы правильно настроили managedObjectContext в первом контроллере представления вкладок, но не в другом.

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