Базовая модель данных не отображается в приложении
У меня возникли трудности с Core Data в бета-версии Xcode 8. Старые приложения будут компилироваться и работать нормально, но все новые приложения компилируются и работают нормально, пока не попытается вставить новый NSManagedObject.
Сначала я думал, что это связано с неправильным удалением старого xcdatamodel и переделыванием другого, но после создания нового приложения и создания простого объекта «A» я не могу создать объект класса A во время выполнения.
Я пытался использоватьlet a = A(context: myMOC)
который возвращает ошибку:
NSManagedObject класса 'MyApp.A' должен иметь действительную NSEntityDescription.
Пробуя старыйlet a = NSEntityDescription.insertNewObject(forEntityName: "A", into: context) as! A
возвращает ошибку:
Не удалось преобразовать значение типа «NSManagedObject_A_» (0x7fd114626f80) в «MyApp.A» (0x10d2fdf28).
Я проверил xcdatamodel дюжину раз, чтобы убедиться, что все правильно написано, и создал новый проект для проверки, чтобы убедиться, что я не допустил ошибок при настройке CD. Мысли?
ОБНОВИТЬ: Содержимое пакета xcdatamodel:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="11147.23" systemVersion="16A201w" minimumToolsVersion="Automatic" sourceLanguage="Swift" userDefinedModelVersionIdentifier="">
<entity name="Coordinate" syncable="YES" codeGenerationType="class">
<attribute name="latitude" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES" syncable="YES"/>
<attribute name="longitude" optional="YES" attributeType="Double" defaultValueString="0.0" usesScalarValueType="YES" syncable="YES"/>
<relationship name="route" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Route" inverseName="coordinates" inverseEntity="Route" syncable="YES"/>
</entity>
<entity name="Route" syncable="YES" codeGenerationType="class">
<attribute name="uuid" optional="YES" attributeType="String" syncable="YES"/>
<relationship name="coordinates" optional="YES" toMany="YES" deletionRule="Nullify" ordered="YES" destinationEntity="Coordinate" inverseName="route" inverseEntity="Coordinate" syncable="YES"/>
</entity>
<elements>
<element name="Route" positionX="-45" positionY="0" width="128" height="75"/>
<element name="Coordinate" positionX="-18" positionY="27" width="128" height="90"/>
</elements>
</model>
ОБНОВЛЕНИЕ 2: Печать сущностей managedObjectModel показывает, что загружается правильная модель. Тем не менее я не могу получить NSManagedObject для инициализации в любом новом проекте.