在NSPredicate数组搜索中处理撇号

时间:2015-09-16 10:52:07

标签: ios objective-c nspredicate

我正在使用CONPER term of NSPredicate通过商家名称搜索数组,它正在工作期待一件事。

其中一个商家名称是Tortilla's,如果用户使用Apostrophe进行搜索,则返回0结果。 以下是我用于搜索的代码

NSArray *terms = [searchText componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSMutableArray *subpredicates = [NSMutableArray array];

for(NSString *term in terms) {
    if([term length] == 0) { continue; }
    NSPredicate *p = [NSPredicate predicateWithFormat:@"SELF.merchant_name contains[cd] %@", term];
    [subpredicates addObject:p];
}

NSPredicate *filter = [NSCompoundPredicate andPredicateWithSubpredicates:subpredicates];
self.myCouponsSearchArray = [NSArray array];
self.myCouponsSearchArray = [self.myCouponsArray filteredArrayUsingPredicate:filter];

如果我的搜索字词只是玉米饼,它会返回完全正确的结果,但只要撇号进入游戏就会返回错误的结果

0 个答案:

没有答案