首次構建NSPredicate
。使用OR錯誤的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 [email protected] 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];
我在做什麼錯?
你什麼錯誤?可能是錯字,但「NS預測」中的「p」應該是資本。 –
儘量讓它更清楚,幫助沒有太多的信息是有點冒險! –
要獲得有用的答案,您至少必須展示:1)託管對象實體的定義,2)確切的謂詞和獲取請求(複製/粘貼,無錯別字!),3)確切的錯誤消息。 –