gpt4 book ai didi

iOS Core data如何使用NSPredicate基于一对多子属性查找父对象?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:58:53 25 4
gpt4 key购买 nike

我有一个核心数据模型,如下所示:

一个 ServiceProvider 实体可以有多个 Service 实体(一对多关系)。每个服务都有一个 type 属性。

如何使用 Service 实体的 type 属性来搜索具有该类型服务的 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" );
}

最佳答案

要查找具有给定类型的任何相关服务的对象,请使用谓词

[NSPredicate predicateWithFormat:@"ANY services.type == %i",type];

(假设“服务”是 to-name 关系的名称)。

关于iOS Core data如何使用NSPredicate基于一对多子属性查找父对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17109360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com