在Array <AnyObject>中搜索字符串,不区分大小写

Pan*_*včí 4 arrays swift swift2

我有应用程序存储服务器的字符串值.然后我使用SearchView写入可以在List中的字符串.它必须不区分大小写.到目前为止,我有这个.但这不是我想要的魔力.

if (myListTags as NSArray).containsObject(searchBar.text!) {
            print("FOUND")
            getCategoryPick()
}
Run Code Online (Sandbox Code Playgroud)

我试图加入它,caseInsensitiveCompare但我失败了.对我有什么帮助?如果该代码能够理解捷克语中的字母相似性,那将是完美的.(č= c,ž= z,í= i ......)

Mar*_*n R 7

"č"是Unicode字符"LATIN SMALL LETTER C WITH CARON".它可以分解为"c"+"",后者("CARON")是所谓的"变音符号".

要在比较字符串时忽略变音符号(以便"č"="c"),请使用以下.DiacriticInsensitiveSearch选项:

let list = ["?", "ž"]
let search = "C"

if (list.contains {
    $0.compare(search, options: [.DiacriticInsensitiveSearch, .CaseInsensitiveSearch]) == .OrderedSame
    }) {
        print("Found")
} 
Run Code Online (Sandbox Code Playgroud)

或者,如果要查找匹配的子字符串:

if (list.contains {
    $0.rangeOfString(search, options: [.DiacriticInsensitiveSearch, .CaseInsensitiveSearch]) != nil
    }) {
        print("Found")
} 
Run Code Online (Sandbox Code Playgroud)