Проблема с именем NSEntityDescription - PullRequest
0 голосов
/ 25 марта 2010

Эта проблема вытекает из предыдущего вопроса .

Когда я запускаю следующую строку кода:

NSEntityDescription *outputCellEntityDescription = [NSEntityDescription entityForName:@"OutputCell"
                                                               inManagedObjectContext:[[self document] managedObjectContext]];

Я получаю следующую ошибку:

HIToolbox: ignoring exception '+entityForName: could not locate an NSManagedObjectModel for entity name 'OutputCell'' that raised inside Carbon event dispatch

Меня беспокоит дополнительный всплеск, который, похоже, появился в конце имени сущности в ошибке. Может кто-нибудь объяснить, почему это может произойти или как я мог отладить его. Код выполняется в обычном режиме при первом запуске, но после нескольких загрузок Core Data кажется, что он ломается. Может ли это быть проблемой, связанной с утечкой памяти или аналогичной?

Спасибо за помощь.

1 Ответ

1 голос
/ 25 марта 2010

Дополнительного подъема нет. Вы просто вложили цитаты:

['] + entityForName: не удалось найти NSManagedObjectModel для имени объекта 'OutputCell' [']

Этот бит является строкой, возвращаемой исключением. Это в свою очередь имеет OutputCell сингл в кавычках. Это выглядит сбивающим с толку, хотя. Если вы не видели его раньше, его легко пропустить.

Однако не уверен, что является причиной ошибки.

Edit:

В качестве шага отладки я предлагаю записать результаты вызова к -[NSManagedObjectModel entities] в вашей модели, чтобы увидеть, действительно ли он содержит OutputCell сущность.

Простое объяснение вашей проблемы заключается в том, что вы каким-то образом переключаете модели после сохранения. Либо вы случайно назначаете другую модель, либо исключаете модель, которая у вас есть. Чтобы проверить это, вы должны зарегистрировать адрес экземпляра NSManagedObjectModel и посмотреть, изменился ли он.

...