次のようなコアデータモデルがあります。
エンティティは、複数のエンティティ (1 対多の関係) をServiceProvider
持つことができます。Service
各サービスにはtype
属性があります。
type
エンティティの属性を使用して、そのタイプのサービスをService
検索するにはどうすればよいですか?ServiceProviders
以下は、私が現在持っている単一のサービス関係で機能する例です。以下の述語を複数のサービスで機能するように変更するにはどうすればよいですか?
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSManagedObjectContext* context = [HealthDataManager sharedInstance].managedObjectContext;
NSEntityDescription *entity = [NSEntityDescription entityForName:@"ServiceProvider" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"self.service.type == %i",type]];
NSArray* results = [context executeFetchRequest:fetchRequest error:nil];
if(results.count>0)
{
for(ServiceProvider* provider in results)
{
DLog(@"found provider: %@", [provider description ]);
}
return [results lastObject];
}else{
DLog(@"Creating provider" );
}