我有一个表格视图,按人名属性显示行。该表格视图允许用户通过名称进行模糊搜索。例如,如果用户输入“crp”,它将匹配姓名为“Chris Paul”的人。
我有一个方法,它接受一个搜索字符串,并设置NSPredicate在数组中搜索模型的名称。
- (void)setPredicateWithText: (NSString *)searchText
{
for (int i = 0; i < searchText.length; i ++)
{
NSString *character = [searchText substringWithRange:NSMakeRange(i, 1)];
self.format = [self.format stringByAppendingFormat:@".*%@",character];
if (i == searchText.length -1) // last character
{
self.format = [self.format stringByAppendingString:@".*"];
}
}
// result format == .*c.*r.*p.*
self.searchPredicate = [NSPredicate predicateWithFormat:@"SELF.name MATCHES '%@'", self.format];
}
另外一种方法:
self.resultArray = [self.allPlayers filteredArrayUsingPredicate:self.searchPredicate];
但是没有结果返回......请帮帮我,谢谢!!