У меня есть модель Core Data, которая выглядит следующим образом:
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" );
}