2014-11-01 43 views
0

我試圖使用NSPredicate搜索Core Data以獲得與NSStrings匹配的所有結果。下面的作品是用'a'查找結果的,但是如何設置NSPredicate以找到'a','b'和'c'?使用NSPredicate搜索NSStrings的範圍

NSPredicate *predicate = [NSPredicate predicateWithFormat:[NSString stringWithFormat:@"Result == 'a'"]]; 

回答

2
NSPredicate *predicate = [NSPredicate predicateWithFormat:[NSString stringWithFormat:@"Result == 'a' OR Result == 'b' OR Result == 'c'"]]; 

OR

編輯:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self.Result IN %@",[NSArray arrayWithObjects:@"a",@"b",@"c", nil]]; 
+0

這很簡單 - 謝謝。例如,是否可以設置一個包含'a','b'和'c'的數組,並將謂詞設置爲使用數組? – RGriffiths 2014-11-01 11:14:30

+0

檢查我編輯過的答案@Richard Griffiths – Balu 2014-11-01 11:29:47

0

的另一種方式來搜索字符串使用Regular Expression。試試這個: -

NSString *yourString = @"Insert your String here"; 
NSError *error = NULL; 
NSRegularExpression *regex = [NSRegularExpression   
    regularExpressionWithPattern:@"[a|b|c]" 
    options:NSRegularExpressionCaseInasensitive 
    error:&error]; 
[regex enumerateMatchesInString:yourString options:0 range:NSMakeRange(0, [yourString length]) usingBlock:^(NSTextCheckingResult *match, NSMatchingFlags flags, BOOL *stop){ 
    // your code here 
}];