【发布时间】:2013-05-10 03:22:17
【问题描述】:
我有一个按人名属性显示行的表格视图。表格视图允许用户按名称进行繁琐的搜索。例如如果用户输入“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];
但没有任何结果...请帮助我,谢谢!
【问题讨论】:
标签: ios regex nspredicate