我已经实现了UISearchBar并且正常工作。唯一的问题是,如果我在搜索栏中输入字母“e”,它将只显示以字母“e”开头的单词,忽略所有开头/有字母“é”的单词。我确保所有关于将数据库加载到NSMutableArray的查询都是正确的UTF-8编码。但问题是,当用户按下“e”时,如何显示“e”和“é”的结果。几乎像所有法语词典一样工作!
这是我在用户按任何字母时过滤单词的方式:
for (Author* author in theauthorsLoadedFinal2)
{
NSRange nameRange = [author.name rangeOfString:text options:NSAnchoredSearch ];
NSRange descriptionRange = [author.genre rangeOfString:text options:NSAnchoredSearch];
if(nameRange.location != NSNotFound || descriptionRange.location != NSNotFound)
{
[filteredTableData addObject:author];
}
}
}
非常感谢
答案 0 :(得分:0)
根据Larme的提示,答案非常简单!对于此问题的所有未来遇到,请使用以下代码:
NSRange nameRange = [author.name rangeOfString:text options:NSAnchoredSearch | NSDiacriticInsensitiveSearch];
NSRange descriptionRange = [author.genre rangeOfString:text options:NSAnchoredSearch | NSDiacriticInsensitiveSearch];