gpt4 book ai didi

iphone - NSPredicate使用OR错误

转载 作者:行者123 更新时间:2023-12-01 18:25:34 26 4
gpt4 key购买 nike

第一次构建NSPredicate

我想使用以下逻辑搜索managedobjectcontext:

Search for a, grab all matches
Search for b, grab all matches, etc....

Nsarray *results = (has all a results, b results, etc);

我尝试的谓词是:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name== %@ OR name == %@ OR name == %@",a,b,c];

但是我收到此 predicate错误...

编辑:我编写的示例方法
-(NSPredicate*)parsePartsIntoAPredicate:(NSMutableArray*)inputPartsNames{
NSSet *keys=[NSSet setWithArray:inputPartsNames];
NSPredicate *predicate=[NSPredicate predicateWithFormat:@"any self.@name in %@", keys];
NSLog(@"predicate = %@",predicate);
return predicate;
}

澄清:我有一个汽车数据库(20,000),每辆汽车都有多个零件。我想找到所有具有a部分的汽车,所有具有b部分的汽车,以及所有具有c部分的汽车。然后我想返回包含a,b,c等部分的汽车的数组...

如果您认为有更好的方法,请告诉我,但我正在倒退。我正在说
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Cars" inManagedObjectContext:[self managedObjectContext]];
[fetchRequest setEntity:entity];
[fetchRequest setPredicate:[self parsePartsIntoAPredicate:inputParts]];

NSError *error;
NSArray *records = [[self managedObjectContext] executeFetchRequest:fetchRequest error:&error];

我究竟做错了什么?

最佳答案

要获取所有具有Carsname对象,该对象是keys集或数组中的字符串之一,请使用

[NSPredicate predicateWithFormat:@"name IN %@", keys]

关于iphone - NSPredicate使用OR错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14118109/

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