Ale*_*one 2 core-data objective-c one-to-many nspredicate ios
我有一个核心数据模型,如下所示:
一个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" );
}
Run Code Online (Sandbox Code Playgroud)
要查找具有给定类型的任何相关服务的对象,请使用谓词
[NSPredicate predicateWithFormat:@"ANY services.type == %i",type];
Run Code Online (Sandbox Code Playgroud)
(假设"服务"是to-namy关系的名称).
| 归档时间: |
|
| 查看次数: |
4192 次 |
| 最近记录: |