Недействительная переоценка классов CoreData
Я работаю с CoreData на объекте под названием "RoleName".
Проблема заключается в следующем: я нажимаю "Создать подкласс NSManagedObject" из моей модели и поэтому автоматически создает классы для моей сущности.
Однако в объявлении класса я получаю эту ошибку:
Недействительная переопределение "RoleName"
хотя у меня нет другого класса с тем же именем.
Ответы
Ответ 1
Это потому, что Xcode обрабатывает все это самостоятельно. Я чувствовал, что это немного неприятно, поскольку автоматически созданные классы не имеют всех моих свойств.
Итак, выполните следующие действия, чтобы получить это, как и раньше:
![введите описание изображения здесь]()
Ответ 2
От Apple: Что нового в основных данных
Генерация автоматического подкласса Xcode
Xcode теперь поддерживает автоматическую генерацию подклассов NSManagedObject в инструменте моделирования. В инспекторе объектов:
Manual/None - это значение по умолчанию и предыдущее поведение; в этом случае вы должны реализовать свой собственный подкласс или использовать NSManagedObject. Категория/Расширение создает расширение класса в файле с именем ClassName + CoreDataGeneratedProperties. Тебе нужно объявить/реализовать основной класс (если в Obj-C через заголовок расширение может импортировать имя ClassName.h). Определение класса генерирует файлы подкласса с именем ClassName + CoreDataClass, а также файлы, созданные для Категория /Extension.
Сгенерированные файлы помещаются в DerivedData и перестраиваются в первой сборке после сохранения модели. Они также индексируются Xcode, поэтому команда нажимает на ссылки и быстро открывается по имени файла.
Вам не нужно вручную создавать подклассы для NSManagedObjects
.
Я бы предположил, что вы удаляете файлы, созданные с помощью NSManagedObjects
(переместите их в корзину), и перейдите к каждому объекту в инспекторе DataModel в разделе Codegen
выберите: Manual / None
и создайте, чем подклассы.