1

最近、iPhone の Core Data を調べていて、文献で答えを見つけることができなかったクエリが 1 つあります。

Purchaseオブジェクトとの対多関係を持つ User モデル オブジェクトがあるとしますユーザーは何千回も購入する場合があります。

私がこれまで見てきたすべての情報は、そのリレーションシップ全体で実行されるフェッチ操作が、特定のUserに関連付けられたすべてのPurchaseオブジェクトを含む NSSet を返すことを示唆しているようです。

フェッチされるPurchaseオブジェクトの数を制限する方法があれば、明らかに私は好むでしょう:

1) 何らかの基準を課す (例: 1000 ポンド以上の購入のみなど)。また

2) 上記が不可能な場合にのみ、バッチで取得します。

上記は可能ですか?iPhone のメモリが限られているため、不必要にフェッチされた何千ものオブジェクトで過負荷になる危険性があることを懸念しています。

返信ありがとうございます。

4

2 に答える 2

2
  1. 取得したプロパティを使用する
  2. 使用するNSFetchedResultsController

これらの答えと次に出てくる質問は、iPhoneのコア データ プログラミング ガイドに記載されています。

于 2009-11-25T21:52:37.260 に答える
1

私の理解では、User オブジェクトをフェッチすると、その Purchase オブジェクトとの関係は、アクセスされた場合にのみ読み込まれるエラーになるということです。
代わりに、ユーザーを指定する述語を使用して Purchase オブジェクトをフェッチし、他の条件をチェックすることができます。

そうは言っても、パフォーマンスの問題に時間を費やす前に、(デバイス上で) 現実的な使用例を確実にテストします。iPhone と Core Data の効率性に驚くかもしれません。

于 2009-11-25T21:52:51.037 に答える