2012-05-03 10 views
4

NSManagedObjectクラスを生成し、私はベストプラクティスは、Xcodeのが私のNSManagedObjectエンティティの生成クラスを拡張するためのものであるかを知りたかったです。は私が初めてコアデータを扱ってきた

私はmogeneratorを見ましたが、私はSUPER HAPPY EASY FETCHING IN CORE DATAに示唆されているのと同様のアプローチも使用しています。 私は3種類のクラスを持っていました:

  • EasyFetchingカテゴリ(1クラスのみ)。
  • 生成されたNSManagedObjectサブクラス(つまり、_Entity)。
  • すべての非アクティブなオブジェクトの検索、オブジェクトのキャッシュのクリアなどのカスタムメソッドを持つカスタムサブクラスです(例:エンティティ)。

このアプローチでは、私のコアデータエンティティをリファクタリングして必要な回数だけ生成することができますが、カスタムコードを実行できます。しかし、NSManagedObjectContextは自分の_Entityクラスしか知りませんでしたので、私はエンティティのオブジェクトレベルのメソッドを宣言できないようないくつかの問題に遭遇しました。

今、カテゴリを使用してエンティティの機能を拡張しています。私はカスタムオブジェクトレベルのメソッドを持つことができるので、これはもっとうまく動作します。

  • EasyFetchingカテゴリには(私のカスタムコードが使用する多くのメソッドがあるため)、次の3種類のクラスがあります。
  • 生成されたNSManagedObjectサブクラス(つまり、エンティティ)。
  • NSManagedObjectエンティティのカスタムカテゴリ(例:Entity + Custom.h)。

私の質問は:あなたは何を勧めますか?あなたの答え

+1

これは基本的に私がやっていることです。私のCore Dataエンティティのカスタムカテゴリにはいくつかのメソッドが追加されています。 EasyFetchingカテゴリについては、実際にはこれに基づいた何かを使用しています - https://github.com/halostatue/coredata-easyfetch - 事柄を単純にするのにも役立ちます:) –

+1

ここに確認された問題のようです:http://www.sunetos.com/items/2011/07/24/how-to-use-custom-classes-with-core-data-without-fear/ –

+0

@piobyz説明されているすべての選択肢を見るのは素晴らしいことです人々はそのトレードオフを理解する。 IMOの唯一の使命は、この[リンク](http://www.cimgf.com/2011/03/13/super-happy-easy-fetching-in-core-data/)を参照していることです。あなたがコアデータ関連のコードをやっているときに動作します。 –

答えて

2

を事前に

おかげで今、あなたは、私のquestionの答えとして をあなたの質問を掲載していることを私は、Mogeneratorが悪く見えない

:)あなたの質問に答える与えるべきであると思いました試してみてください。あなたがカテゴリに提案

も方法も細かいオプションです。ここ

Infactは、正確にこれを行う方法について説明しlinkです。

関連する問題