15

「MyObject」というコアデータエンティティを作成しました。次に、エンティティの名前を「ThatObject」に変更しました。ただし、NSManagedObjectサブクラスを作成するたびに、.h/.mファイルがMyObjectとして作成されます。

「MyObject」ファイルを取得して「ThatObject」に名前を変更すると、すべてが機能しますが、エンティティ属性を変更するたびにそれを行う必要があるのは面倒です。

これを修正する方法はありますか?

4

2 に答える 2

34

エンティティの名前を変更するときは、データモデルインスペクターでNameとの両方の名前を変更してください。Class私のプロジェクトでは、両方の名前が変更されると、新しい自動生成されたNSManagedObjectサブクラスが新しい名前で作成されます。

エンティティとクラスの名前を変更するためのダイアログオプション

于 2013-03-11T16:50:26.520 に答える
10

将来の読者のために:モデルのバージョンに注意してください。ただし、アプリが既に公開されている場合、アプリを更新すると、ユーザーデバイスのデータベーススキーマが破損し、起動時にクラッシュする可能性があります。Core Dataは、この簡単なケースの移行を自動的に見つけることができます。軽量移行の詳細については、こちらをご覧ください。基本的に、名前変更IDを設定する必要があります。これにより、CDは、間にバージョンをスキップした場合でも、名前が変更されたものを認識します。

于 2017-06-14T12:45:44.827 に答える