2015-12-06 4 views
0

У меня следующая проблема: У меня есть модель под названием чата, который должен быть обновлен до Диалога (только для мнемонических вопросов). Сгенерированный файл по-прежнему остается чатом, хотя я изменил ваше имя в файле xcdatamodel.Поврежденного (старое) название объекта - CoreData

Учитывая это, я решил вернуться и: «Ну, оставить его как есть и использовать снова чат», но когда я пытаюсь сделать некоторые операции над моделью чата, как:

Chat * chat = [Chat MR_findFirstByAttribute:@"cId" withValue:convId]; 

в приложении падает говорит:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'executeFetchRequest:error: A fetch request must have an entity.'


Я предполагаю, что внутренняя ошибку с именем объекта в отношении NSManagedObject, что делает сбой приложения.

Я пробовал удалять файлы чата и чата + CoreDataProperties и генерировать новые с правильным именем (разговор), и я также обнаружил, что ссылка на имя чата существует в xcdatamodel (я открыл его в качестве исходного файла) под ключом

<entity name="Conversation" representedClassName="Chat" syncable="YES"> 

Когда я меняю его на разговор, поведение повторяется снова.

любая помощь, чтобы решить ее

+0

Хотя я лингвист, специализирующийся на древних и искусственных языках, я не могу понять первые два параграфа вашего вопроса. Вы используете существительные и глаголы из контекста. Возможно, это машинный перевод? – Mundi

ответ

0

Структура MagicalRecord предполагает, что имена классов и имена сущностей совпадают. Вы можете

  • Используйте новое имя лица, изменив все ссылки на «Чат» в «Диалог», которая может быть выполнена с помощью простого глобального текста заменить.

  • Abandon MagicalRecord и используйте свой собственный стек Core Data. Затем вы можете играть столько, сколько хотите, с нестандартными шаблонами имен моделей, сущностей и классов.

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

 Смежные вопросы

  • Нет связанных вопросов^_^