0

私のアプリでは、コア データを db マネージャーとして使用しています。これは多かれ少なかれ私のデータベーススキームです:

Table: Device(
id: String,
name: String,
specsId: String
);
Table: Specs(
specsId: String,
/**/
);

2 つのテーブルは結合されていません。

私がやりたいことは、Device テーブルからデバイスをクエリし、一致する specsId に基づいて Specs テーブルから自動的にスペックをクエリするときです。

そうする適切な方法は何ですか?

ありがとう、

Z

4

1 に答える 1

1

これを行う適切な方法は、Device テーブルから「specsId」フィールドを削除し、「spec」などと呼ばれる Specs テーブルとの関係を作成することです。

このように、Device オブジェクトを取得したら、すぐに使用できます...

myDeviceObject.spec.<property of spec>;

仕様にアクセスします。

結合がなければ、必要なオブジェクトNSFetchRequestを取得するためにを作成し、そのオブジェクトを取得するDeviceために新しい を作成する必要があります。NSFetchRequestSpecDevice

2 番目の NSFetchRequest には、次のような述語があります...

@"specsId = %@", device.specsId
于 2012-11-30T10:59:19.423 に答える