У меня есть приложение iOS, содержащее модель Core Data с 6 объектами. Объект Name
настраивается следующим образом:
Имя класса: Имя
Модуль: Текущий модуль продукта
Код: Определение класса
(все 5 других объектов настроены аналогично).
Проблема 1 (исправлена, но уходит на потомство)
Код IS сгенерирован в папке с производными данными... не как определения класса, как ожидалось, а в качестве расширений (назван как Name+CoreDataProperties.swift
. Кажется, не имеет значения, установлено ли Codegen для определения класса или категории/расширения - Я все равно получаю тот же результат.
ОК, держите эту мысль - внезапно генерируются как класс, так и файлы расширений ARE... похоже, что вам нужно удалить папку с производными данными проекта и перезапустить Xcode между обновлениями. Игнорировать проблему 1
Проблема 2
Сгенерированные файлы игнорируют модель данных. Необязательный флаг для атрибутов String и отношений - все они сгенерированы как опции
Проблема 3 (исправлена сама, но уходит на потомство)
Упорядоченные отношения генерируются как OrderedSet
(и ошибка компиляции), а не NSOrderedSet
(не могут изменять их по мере их создания)
Обходной путь для меня заключался в том, чтобы временно добавить в проект...
public typealias OrderedSet = NSOrderedSet
ОК, теперь ошибка компилятора исчезла, и OrderedSet
, похоже, распознается. Игнорировать проблему 3.
Проблема 4
Ничего из этого не имеет значения, потому что компилятор не может найти файлы, которые он только что сгенерировал. Для объекта Name
выше:
: 0: ошибка: нет такого файла или каталога: '/Users/ashleymills/Library/Developer/Xcode/DerivedData/-grfqveelvqtlydbpwjmfdietnrss/Build/Intermediates/.build/Debug-iphonesimulator/.build/DerivedSources/CoreDataGenerated//.Name+CoreDataClass.swift': 0: ошибка: нет такого файла или каталога: '/Users/ashleymills/Library/Developer/Xcode/DerivedData/-grfqveelvqtlydbpwjmfdietnrss/Build/Intermediates/.build/Debug-iphonesimulator/.build/DerivedSources/CoreDataGenerated//. Имя + CoreDataProperties.swift
Он ищет в производных данных для файлов .Name+CoreDataClass.swift
и .Name+CoreDataProperties.swift
- заметьте '.' в начале имен файлов. (В качестве временного исправления я добавил сгенерированные файлы в проект)
Я предполагаю, что я делаю что-то неправильно, как если бы это было так для всех, никто не смог бы построить проект Core Data... или эти ошибки, требующие повышения?
Приветствия Ash
(Также поднят на форумах Apple dev)