ios - NSPredicate在filterContentForSearchText方法中省略了áá之类的特殊字符

标签 ios uisearchbar nspredicate

我正在使用 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/

相关文章:

ios - 在 'xxx' 类型的对象上找不到属性 'yyy'

ios - 如何制作这个添加好友的UI

ios7 - 光标未显示在我们应用程序的 UISearchBar 中

ios - 在 TableView Controller 中搜索时,与 UILabel 相比,动态创建的 UIButton 的屏幕闪烁

ios - Swift 将键路径作为函数的参数传递

ios - 将数据从 PopOver 传回 Viewcontroller

ios - 在安装新的 pod 文件时出错

iphone - "_OBJC_CLASS_$_MKAnnotationView",引用自 : ERROR

ios - 从 NSPredicate 获取意外的表达式错误

iOS - NSPredicate 一对多核心数据