0

これは私が以前に尋ねた質問に似ていますが、さらに進んだので、昨夜、NSManagedObject の「適切な」サブクラス化についてまだ質問があります。 -永続化されたプロパティと ivar を 1 つに。現在、私は NSManagedObject 内に大量のコードを持っていますが、Apple のドキュメントはその「正しさ」について実際には触れていません。参考までに: コードは機能しますが、先に落とし穴があるかどうか、または別の方法で明らかに改善されるかどうかを尋ねています。

私の「オブジェクト」は、受信データ、そのデータの分析の進行状況を追跡するプロパティ/ivar、および処理されたデータ (出力) の継続的に成長する配列です。これはすべてメモリに保存されます。これは、非常に急速に巨大になり、継続的に再生成/再分析することができないためです。実際に永続化される NSManagedObject プロパティは、単なる生データ (Core Data は NSMutableData をサポートしていないため、定期的に保存されます)、いくつかの基本的なプロパティ、および他の NSManagedObjects との 2 つの関係 (1 つはユーザー、もう 1 つは一連のスナップショット) です。データ)。一度に記録されるオブジェクトは 1 つだけですが、表示用に何十ものオブジェクトを開くことができます (いつでも追加の処理が必要になる場合があります)。

エンティティを挿入するオブジェクト (コア データを管理するデータ マネージャー) にすべての処理ロジック/変数を内部に持たせることはできません。これは、各オブジェクトが、仲介および追跡値として使用される少なくとも少数の配列/プロパティを必要とするためです。分析のために。個人的には、使用されているオブジェクトごとに 2 つのオブジェクトを作成するのはばかげていると思います (ストアである NSManagedObject と、処理/一時ストアである別のオブジェクト)。

基本的に、NSManagedObjects を使用して見つけることができるすべての例には、座標、アドレス帳のエントリ、写真など、基本的に静的なものである非常に単純なオブジェクトがあります。その場合、オブジェクトの外部でそれらを作成/変更するすべてのロジックがあることがわかります。ただし、私のケースはそれほど単純ではなく、重複を伴わない代替案をまだ考えていません。

任意の提案をいただければ幸いです。

4

1 に答える 1

1

「ラッパー」、つまり、管理対象オブジェクト インスタンスの 1 つへの参照を持つクラスを使用できます。このラッパーには、アルゴリズムと永続化されていないアルゴリズムが含まれます。

于 2013-03-20T21:20:43.563 に答える