我有一个按人名属性显示行的表格视图。表格视图允许用户按名称进行繁琐的搜索。例如,如果用户键入“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];
但结果什么都没有回来......请帮助我,谢谢!