0

私はコアデータの関係に取り組んでいます.私は2つのエンティティデバイスとディーラーを持っています.それらの間には1対多の関係があります.

デバイス属性の場合は deviceName、deviceSerial、deviceVersion であり、ディーラーの場合は属性は dealaddress、dealerPhone、dealerName です。

データ モデル エディターで、デバイスからディーラー (各デバイスには複数のディーラーがあります) への 1 対多の関係を作成する必要があります。

逆も設定しました。Dealer テーブルに ZDeviceDealer という名前の列を取得しました。

特定のデバイスのディーラー テーブルからディーラーのリストを取得したいと考えています。

このために Predicate と Fetchrequestcontroller を作成するにはどうすればよいですか。

私が間違っているところを修正してください。

どんな助けでもいただければ幸いです

4

1 に答える 1

1

Core Data で「列を作成」するのではなく、エンティティの属性と関係を定義します。Deviceと *Dealerの間に 1 対多の関係を既に定義しているとのことでした。

  • dealersは、 DeviceからDealerへの対多の関係です。
  • deviceDealerからDeviceへの逆対一の関係です。

特定のデバイスのすべてのディーラーをフェッチするには、次の述語とフェッチ リクエストが必要です。

Device *theDevice = ... ;
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Dealer"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"device == %@", theDevice];
[request setPredicate:predicate];

フェッチされた結果コントローラーの場合、 NSFetchedResultsController ドキュメントのサンプル コードから始めて 、上記のフェッチ リクエストを使用できます。

于 2013-06-28T05:58:13.370 に答える