我正在使用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];
如果我的搜索字词只是玉米饼,它会返回完全正确的结果,但只要撇号进入游戏就会返回错误的结果