0

私はコアデータが初めてです。

2 つのテーブルとそれらの間に 1 対 N の関係があるデータ モデルがあります。

アプリケーションはサービスからすべてのデータをダウンロードし、各テーブルにデータを保存します。

さらに、テーブルは関連しているため、これを実行したいと考えています。

a) 特定の条件を満たす table2 のすべての要素を取得します。

b) table2 の各要素について、識別子は table1 を参照し、table1 の ID を保存します。

c) 要件 ID を満たす表 1 のアイテムを取得します。

d) 表 2 に 1 を関連付けます。

私はこれを行う能力がありません。:(

このようにテーブル間の関係を作るこの方法が良いかどうかはわかりません。

4

1 に答える 1

1

これはちょっと答えにくいです。Core Data を SQL テーブルと考えると、問題が発生するだけです。

コア データは、テーブルの結合や検索に関するものではなく、オブジェクト グラフに関するものです。オブジェクトは、他のオブジェクトと逆の関係を持つ別のオブジェクトとの関係を持っています。基本的に、あなたがやるべきことは次のとおりです。

  1. これは、条件を定義する述語に従って、テーブル 2 に保存しているエンティティのフェッチ リクエストです。
  2. 実際には Core Data で ID を直接扱うことはありません。キーを直接扱うことはほとんどありません。
  3. 手順 1 でオブジェクトのコレクションが返されました。これに対してさらに述語を実行して、それをフィルター処理できます。
  4. それが逆の関係です。

これがあなたの実際の質問に答えていないことは知っています。Core Data ストアを、リンクされたテーブルの集まりではなく、相互に関連するオブジェクトのコレクションと考えてもらいたいのです。

于 2012-08-09T12:34:19.520 に答える