2

CoreDataにかなり慣れていない(2時間前にそれで遊び始めた;))私は物事を行うためのより簡単な方法があるかどうか疑問に思っています。

現在、DataModelを使用して永続オブジェクトコードを作成しています。

ただし、属性の数やフィールドの名前などを調整し続けると、NSManagedObjectsのコードが更新されます。

すでに実装されている属性でクラスを作成できることがわかりましたが、手動で追加するか、新しいオブジェクトを作成して既存のオブジェクトを上書きする以外に、既存のクラスのコードを更新する方法がわかりませんでしたか?(または他の開発者はどのようにそれを行うのですか)

答えは確かに「これ以上の方法はない」ということは承知していますが、それでも質問する必要があります。

4

2 に答える 2

2

mogeneratorをチェックしてください。

このコマンドラインユーティリティは、2つのクラスファイルを生成します。モデルのすべてのコードを含む、マシンで生成された_MyClassヘッダーと実装。MyClassまた、独自のカスタマイズを追加できるサブクラスも作成されます。

コードを再生成するたびに、マシンで生成され_MyClassたファイルのみが更新されます。へのすべての変更MyClassは保持されます。

于 2012-04-18T09:12:50.960 に答える
1

mogeneratorを使用できない場合は、ネイティブコード生成を使用できます。毎回コードを再生成してください。ただし、これにより変更が消去されます。

したがって、2つの非常に実行可能なオプションがあります。

  1. エンティティクラスにカテゴリを記述します。カテゴリを使用して、必要なことをほぼすべて実行できます。

  2. エンティティからサブクラス化し、すべてのコードをそこに配置します。

個人的には、絶対に継承しなければならない場合を除いて、カテゴリを使用することを好みます...これは非常にまれです。

于 2012-04-18T17:12:24.027 に答える