2

Simperiums iOS/OSX チュートリアルでは、モデル化された各オブジェクトは SPManagedObject から継承する必要があると述べています。

まだ試していませんが、モデル化されたすべてのマネージド オブジェクトのすべてのフィールドの結合を含む、SQLite データベース内の 1 つの大きなテーブルにつながるのではないでしょうか?

4

1 に答える 1

4

はい、内部的にはCoreDataはより大きなテーブルを作成する傾向があります。ただし、一般的にパフォーマンスは、継承ではなく、関係 の影響を大きく受けます。CoreDataモデルでの親エンティティの使用

かなり複雑な継承階層との統合を行いましたが、かなりの量のデータに関する差し迫った問題は見られませんでした。

そうは言っても、テーブル構造をさらに制御する必要がある場合は、すべてのオブジェクトに対して単一の親を持つことを避け、代わりに次のいずれかを行うことができます。

  1. 同期するオブジェクトにghostData属性とsimperiumKey属性を手動で追加し、それらのクラスが次のようになっていることを確認しますSPManagedObject(または、カスタムクラスがから継承していることを確認しますSPManagedObject)。

  2. ghostData属性とsimperiumKey属性を使用して複数の親エンティティを作成し、基になるテーブルをどのように構造化するかに応じて、モデルの意味のある部分のエンティティを継承します。

于 2012-05-12T16:15:19.367 に答える