Xcode 8ベータ1のコアデータに問題があります。古いアプリケーションはコンパイルされて正常に動作しますが、新しいアプリケーションはすべてコンパイルされ、新しいNSManagedObject。コアデータモデルはアプリケーションに反映されていないようです
最初は、古いxcdatamodelを間違って削除して別のものを作り直すことと関係があると思っていましたが、新しいアプリを作って単純なエンティティ "A"を作成した後、クラスAのオブジェクトをランタイム。
私はエラーを返しlet a = A(context: myMOC)
使用して試してみました:私はすべてを綴られていることを確認するために数十回
Could not cast value of type 'NSManagedObject_A_' (0x7fd114626f80) to 'MyApp.A' (0x10d2fdf28).
私がチェックしている私のxcdatamodel:古いlet a = NSEntityDescription.insertNewObject(forEntityName: "A", into: context) as! A
をしようと
An NSManagedObject of class 'MyApp.A' must have a valid NSEntityDescription.
はエラーを返します。 CDをセットアップする際に間違いがないことを確認するためにテストするための新しいプロジェクトを作成しました。思考?
UPDATE:
<?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>
UPDATE 2: xcdatamodelパッケージの内容は、このですmanagedObjectModelの実体を印刷、正しいモデルがロードされていることを示しています。まだ私は新しいプロジェクトで初期化するNSManagedObjectを取得できません。
あなたがリストした2番目のエラーは、カスタムクラス名/モジュールがデータモデルで正しく記入されていないと思います。彼らが正しいことを確認しましたか? –
私は複数回確認しました。私は持っているすべてのエンティティをテストして、同じエラーを取得します。 – jjatie
データモデルのXMLの内容をQに追加してください。xcdatamodelパッケージ内にあります。または、モデルエディタのスクリーンショットを追加します。 –