我正在使用 UISearchBar 开发一个应用程序,并且我需要过滤一些带有特殊字符的名称,例如à,è,ê等。。但是,如果我没有输入带有特殊字符的正确字符串,则不会t出现。
范例:如果我要寻找cómodo字词,但我输入的不是字样,则找不到此字词
不输入特殊字符怎么能得到这个词?例如,仅键入 co 。
这是我的NSPredicate
: NSPredicate *resultPredicate = [NSPredicate
predicateWithFormat:@"SELF.word BEGINSWITH[c] %@",
searchText];
谢谢
最佳答案
需要指定忽略音节,而不是“[c]”来指定“[cd]”。
请参阅NSHipster:NSPredicate。NSComparisonPredicate
选项:NSDiacriticInsensitivePredicateOption
:不区分音素的谓词。您可以在字符串操作后使用[d]以谓词格式的字符串表示此选项(例如,“d”为“naive”,例如“d”为“naive”)。
这种常见错误使我无法在巴黎找到地铁站。
关于ios - NSPredicate在filterContentForSearchText方法中省略了áá之类的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23418282/