2014-04-09 5 views
5

Ho un UISearchBar implementato e funziona correttamente. L'unico problema è che se digito nella barra di ricerca la lettera "e" mostrerà solo le parole che iniziano con la lettera "e" correttamente, trascurando tutte le parole che iniziano/hanno la lettera "é". Mi sono assicurato che tutte le mie domande riguardanti il ​​caricamento del database in NSMutableArray fossero codificate in UTF-8 correttamente. Ma il problema è, come posso mostrare i risultati di "e" ed "é" quando l'utente preme "e". Praticamente come tutti i dizionari francesi funzionano!
questo è come mi filtrare le parole quando l'utente preme qualsiasi lettera:
Barra di ricerca che mostra i risultati di "e" e "é" allo stesso tempo

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]; 
        } 


} 

}

Molte grazie

+2

Cercare "NSDiacriticInsensitiveSearch". – Larme

+0

@Larme, grazie per la risposta, ma come posso implementarlo –

+0

@Larme grazie che ci ha aiutato !!! postalo come risposta e lo accetto :) –

risposta

0

In base a punta di Larme, la risposta è stata molto semplice! per tutti i futuri incontri di questo problema, utilizzare il seguente codice:

NSRange nameRange = [author.name rangeOfString:text options:NSAnchoredSearch | NSDiacriticInsensitiveSearch]; 

NSRange descriptionRange = [author.genre rangeOfString:text options:NSAnchoredSearch | NSDiacriticInsensitiveSearch];