Ответ 1
Если вы не используете пользовательские классы (no Place. [hm]), как вам кажется, вы не уверены, проверьте вкладку Entity и убедитесь, что Класс имя пусто (= NSManagedObject) - не Место.
Хорошо, так что это ошибка, которую я получаю
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '"Place" is not a subclass of NSManagedObject.'
Я предполагаю, что это означает, что "Место" не добавлено как сущность к базовой модели данных??? Но это показано на рисунке ниже.
Я предполагаю, что мое предположение неверно, хотя любая помощь или идеи были бы хорошими.
Я уверен, что это строка, вызывающая его:
NSManagedObject* place = [NSEntityDescription
insertNewObjectForEntityForName:@"Place"
inManagedObjectContext:context];
Если вы не используете пользовательские классы (no Place. [hm]), как вам кажется, вы не уверены, проверьте вкладку Entity и убедитесь, что Класс имя пусто (= NSManagedObject) - не Место.
У меня была такая же проблема с классами, называемыми Message and Connection. Ошибка появилась после добавления средства электронной почты с использованием библиотеки MessageUI. Я считаю, что конфликт возникает из-за того, что библиотека будет иметь классы с именем Message и Connection, поэтому они не рассматриваются как подклассы NSManagedObject. Изменение имен с помощью префикса (в моем случае с помощью X) делает сущности уникальными. Я намерен в будущем префикс всех моих объектов, чтобы вероятность возникновения конфликта была меньше.
Первое, что нужно сделать, когда вы сталкиваетесь с такими ошибками, - проверить имя класса вашего объекта:
Надеюсь, это поможет!
Другим способом решения этой проблемы является использование подкласса NSManagedObject
(рекомендуется).
Place *place = [NSEntityDescription
insertNewObjectForEntityForName:@"Place"
inManagedObjectContext:context];