"MyObject"というコアデータエンティティを作成しました。次にエンティティ "ThatObject"の名前を変更しました。しかし、NSManagedObjectサブクラスを作成するたびに、.h/.mファイルがMyObjectとして作成されます。コアデータエンティティの名前変更
私は "MyObject"ファイルを "ThatObject"に名前を変更してすべて動作させますが、エンティティ属性を変更するたびにそれを行う必要があります。
これを修正する方法はありますか?
"MyObject"というコアデータエンティティを作成しました。次にエンティティ "ThatObject"の名前を変更しました。しかし、NSManagedObjectサブクラスを作成するたびに、.h/.mファイルがMyObjectとして作成されます。コアデータエンティティの名前変更
私は "MyObject"ファイルを "ThatObject"に名前を変更してすべて動作させますが、エンティティ属性を変更するたびにそれを行う必要があります。
これを修正する方法はありますか?
エンティティの名前を変更するときは、データモデルインスペクタでName
とClass
の両方の名前を変更してください。私のプロジェクトでは、両方の名前が変更された場合、新しい自動生成NSManagedObjectサブクラスが新しい名前で作成されます。
ハ! 「構成」の下に、エンティティとクラスが表示されます。クラスはまだ "MyObject"に設定されていました。ありがとう! – Padin215
将来の読者の方:モデルバージョンに注意してください。アプリが既に公開されている場合は、アプリを更新すると、起動時にクラッシュするユーザデバイスのデータベーススキーマが壊れる可能性があります。コアデータはこの簡単なケースで自動的に移行を見つけることができます。軽量移行の詳細については、hereを参照してください。あなたは基本的にに名前変更IDを設定する必要があります。その間にバージョンをスキップしても何に名前が変更されたのか分かります。
モデルにはバージョン管理がありますか? – memmons
私は気づいていません。 – Padin215