1

現在のエンティティのフィールドから関連エンティティの ID を取得したい。これどうやってするの?

たとえば、2 つのエンティティ クラスがあるとします。CompanyEmployee。設定しましたCompanyEmployeeコアデータを使用して、会社からそれを取得するためにこれを行います。

TTCompany* company = <get company>
TTEmployee* employee = [[company employees] anyObject];
id employeeID = employee.objectID;

私が取得したいのは、employeeID. 従業員オブジェクトは後で必要に応じて解決するため、ここで読み込む必要はありません。そして明らかに、現在の会社オブジェクトには従業員の ID があります。データをフェッチせずにこれを取得する方法があると思います。

オブジェクトをロードせずに ID を取得するより良い方法はありますか?

4

1 に答える 1

0

会社から従業員に移動するのではなく、関係がある場合は、特定の会社を持つ従業員に対してフェッチ要求を作成できます。次に、実行前に戻り結果の型を NSManagedObjectID に設定します。

これはテストせずに書いたもので、概念をより明確にするために少し冗長です。

NSFetchRequest *myFetchRequest =[[NSFetchRequest alloc] init];
myFetchRequest.entity=<your employee description>;
myFetchRequest.predicate=[NSPredicate predicateWithFormat:@"(company==%@)",yourCompany];
myFetchRequest.setResultType=NSManagedObjectIDResultType;

// execute fetch and the rest....
于 2012-08-23T13:07:02.447 に答える