Обновление для Xcode 7 (окончательное):
добавление имени модуля к классу (как в Xcode 6 и ранних бета-версиях Xcode 7) больше не требуется. Документация Apple, реализующая базовые подклассы управляемых данных , была обновлена соответствующим образом.
Инспектор модели данных теперь имеет два поля «Класс» и «Модуль» для объекта:
При создании подкласса управляемого объекта Swift для сущности в поле «Модуль» устанавливается «Текущий модуль продукта», и с этим параметром создание экземпляров работает как в основном приложении, так и в модульных тестах. Подкласс управляемого объекта не должен быть отмечен @objc(classname)
(это было отмечено в https://stackoverflow.com/a/31288029/1187415 ).
В качестве альтернативы вы можете очистить поле «Модуль» (оно будет отображать «Нет») и пометить подклассы управляемого объекта с помощью @objc(classname)
(это наблюдалось в https://stackoverflow.com/a/31287260/1187415 ).
Примечание: Этот ответ был изначально написан для Xcode 6. В этой бета-версии произошли некоторые изменения, связанные с этой проблемой. Поскольку это принятый ответ со многими ответами и ссылками на него, я попытался суммировать ситуацию для текущей финальной версии Xcode 7.
Я провел свое собственное «исследование» и прочитал все ответы на этот вопрос и на аналогичный вопрос
CoreData: warning: Невозможно загрузить класс named . Таким образом, авторство относится ко всем из них, даже если я не перечислю их конкретно!
Предыдущий ответ для Xcode 6 :
Как описано в разделе « Реализация подклассов управляемых объектов базовых данных», необходимо добавить префикс имени класса сущностей в поле «Класс» в инспекторе сущностей модели к имени вашего модуля, например «MyFirstSwiftApp.User».