0

私のコア データ モデルはかなり単純ですが、階層化されています。Person エンティティには一連の Fund エンティティがあります。各ファンドは一連の Stock エンティティを構成します。各株式には一連の Price エンティティがあります。そう:

Person: to many Funds
Fund: to many Stocks
Stock: to many Prices

アーキテクチャ上、コア データ エンティティごとに CRUD 操作を管理するクラスを用意する必要がありますか? 私はこれを DAO (データ アクセス オブジェクト) とマネージャーと同じ意味で呼んでいます。さらに、エンティティごとにマネージャ クラスがある場合、Person エンティティを取得したい場合、マネージャに何を記述すればよいでしょうか?

Person を取得するには、Person の資金を取得する必要があります。次に、Fund DAO/manager を使用して Fund の株式を取得します。次に、株式の DAO/マネージャーを使用して株式の価格を取得しますか?

これは、「完全な」人物を構築するために必要なようです。しかし、人の姓だけを取得したい場合はどうすればよいでしょうか? これは Person の単なるフィールドであり、リレーションシップは必要ありません。getter は特定の Person のオブジェクト グラフ全体を取得する必要がありますか? Person を設定した場合、関連するすべてのオブジェクトも設定する必要がありますか?

ありがとう!

4

1 に答える 1

0

1.

しかし、人の姓だけを取得したい場合はどうすればよいでしょうか? これは Person の単なるフィールドであり、リレーションシップは必要ありません。getter は特定の Person のオブジェクト グラフ全体を取得する必要がありますか?

あなたが を取得するPersonと、彼fundの は障害になります。Faulting と Uniquing - Core Data プログラミング ガイド

2.

Person を設定した場合、関連するすべてのオブジェクトも設定する必要がありますか?

いいえ、関連オブジェクトがオプションでない限り、彼の関連オブジェクトもすべて設定する必要はありません。したがって、あなたの人が資金を必要とするときは、その人に資金を追加するだけです。


私の開発習慣では、人物を分類し、次のようなクラス メソッドを追加したいと考えています。

+ [Person newPersonWithFirstName:(NSString *)firstName lastName:(NSString *)lastName];

Person関連するものに対処します。

于 2013-11-06T13:03:28.447 に答える