8

XCode でコア データ モデルを設計する場合、NSManagedObject サブクラス定義 (.m および .h ファイル) を自動的に生成できます。

  1. エンティティの選択
  2. EDITORメニューから「Create NSManagedObject Subclasses」を選択する

その後、これらのクラスに多くのコードを追加する可能性がありますが、その後何らかの理由でデータ モデルの設定を大幅に変更する必要がある場合はどうでしょうか。これらの変更をデータ モデルに反映するために、それを自動的に行う方法はありますか? または、すべてを手動で行う必要があります。

現在、[編集] メニューからこれらのクラス定義を再度 (自動的に) 再作成しようとすると、現在のすべてのファイルが置き換えられます。追加されたコードはすべて消えます。

Xcode の将来のバージョンで、追加された作業を失うことなくデフォルトのクラス定義を自動的に更新するスマートな機能が追加されることを本当に願っています。多分私は怠け者です。:)

4

3 に答える 3

6

あなたは共通の問題に直面しています。当分の間、Xcode を使用して管理対象オブジェクトのサブクラスを作成する方法にかなりこだわっています。それを知っていれば、次のいずれかを実行できます。

  • その周りのデザイン

    単純なケースでは、カテゴリを使用して機能 (状態ではありません) をNSManagedObjectサブクラスに追加できます。カテゴリのファイル内のコードは、データ モデルが変更されるたびに上書きされないことは明らかです。

  • Xcodeを使用しないでください

    Mogeneratorは、まさにその問題を解決するために設計された気の利いたツールです。エンティティごとに 1 つではなく2 つのクラスが作成されるため、Xcode で一方を管理しながら他方を管理できます。

于 2012-08-27T18:09:49.077 に答える
1

Apple は XCode 7 で問題に対処したようです。現在、エンティティと、そのコア データ プロパティを使用してエンティティのカテゴリが自動的に作成されます。再生成すると、カテゴリのみが更新され、エンティティ クラスのカスタム コードは無傷のままになります。このリンクを参照してください

于 2016-03-31T13:18:55.777 に答える