mogeneratorを利用してCoreDataクラスを編集・再生成しやすくする

mogeneratorとは

mogeneratorはCoreDataエンティティのカスタムクラスを生成するツールです。

定義したエンティティをもとにクラスファイルをXcodeで生成しますが、開発者がコードを追加したあとで再度クラスファイルを生成すると、マージ作業が必要になります。

mogeneratorはこれを回避するためにFooエンティティに対して_FooクラスとそのサブクラスFooクラスを生成します。開発者はFooを書き換えることで、_Fooが何度生成されても独自コードをマージする必要が無くなります。

つまり懐かしのEOGeneratorのCoreData版です。

導入方法

mogeneratorのページからパッケージをダウンロードしてインストールします。/usr/bin/mogeneratorがインストールされます。

下記のようにモデルファイルを指定して、-Oでファイルを作成するフォルダを指定して実行すると、ファイルが生成されます。-Oを指定しない場合はカレントフォルダに生成されます。

$ mogenerator -m MyProject.xcdatamodeld/MyProject.xcdatamodel -O ./
4 machine files and 4 human files generated.

作成されたファイルをXcodeプロジェクトに追加します。今後カスタムロジックはFooクラスに追加し、エンティティに変更を加えた場合にはmogeneratorを再度実行して_Fooクラスを再生成します。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です