「RoleName」というエンティティでCoreDataを使用しています。
問題は、モデル内から[NSManagedObjectサブクラスの作成]をクリックすると、エンティティのクラスが自動的に作成されることです。
ただし、クラスの宣言では、次のエラーが表示されます。
「RoleName」の無効な再宣言
同じ名前の他のクラスはありませんが。
From Apple: Core Dataの新機能
Xcodeの自動サブクラス生成
Xcodeは、モデリングツールでNSManagedObjectサブクラスの自動生成をサポートするようになりました。エンティティインスペクターで:
Manual/Noneはデフォルトで、以前の動作です。この場合、独自のサブクラスを実装するか、NSManagedObjectを使用する必要があります。カテゴリ/拡張機能は、ClassName + CoreDataGeneratedPropertiesのような名前のファイルにクラス拡張機能を生成します。メインクラスを宣言/実装する必要があります(Obj-Cの場合、ヘッダーを介して拡張機能はClassName.hという名前をインポートできます)。クラス定義は、ClassName + CoreDataClassのような名前のサブクラスファイルと、カテゴリ/拡張用に生成されたファイルを生成します。
生成されたファイルはDerivedDataに配置され、モデルが保存された後の最初のビルドで再構築されます。また、Xcodeによってインデックスが作成されるため、コマンドキーを押しながら参照をクリックし、ファイル名ですばやく開くことができます。
NSManagedObjects
のサブクラスを手動で作成する必要はありません。
NSManagedObjects
(ゴミ箱に移動)で作成したファイルを削除し、DataModel InspectorのCodegen
selectの下にあるすべてのエンティティに移動することをお勧めします:Manual / None
およびサブクラスよりも作成します。