NSPredicate在filterContentForSearchText方法中省略了特殊字符,如áâá

时间:2014-05-01 23:15:56

标签: ios uisearchbar nspredicate

我正在开发一个带有 UISearchBar 的应用,我需要使用特殊字符过滤一些名称,例如à,è,ê等等。但是如果我不喜欢用不出现的特殊字符键入正确的字符串。

例如:如果我正在寻找cómodo字,如果我没有准确输入

,我找不到这个字

如果没有特殊字符的类型,我怎么能得到那个单词?例如,只需输入 co <​​/ strong>。

这是我的NSPredicate

 NSPredicate *resultPredicate = [NSPredicate
                                    predicateWithFormat:@"SELF.word BEGINSWITH[c] %@",
                                    searchText];

谢谢

1 个答案:

答案 0 :(得分:3)

忽略diacrtical需要指定,“[cd]”而不是“[c]”。

见NSHipster:NSPredicate

NSComparisonPredicate选项:
NSDiacriticInsensitivePredicateOption:一个变音不敏感的谓词。您可以在字符串操作后使用[d]在谓词格式字符串中表示此选项(例如,“天真”,如[d]“天真”)。

这是一个常见的错误,它使我无法在巴黎找到我的地铁站。