Recherche auto-complétée
soussou
Membre
Bonjour à tous,
Dans mon application j'ai actuellement une liste de plats récupérée d'un fichier JSON et stockée dans un fichier texte dans mon projet.
Cette recherche est auto-complétée. Cependant elle récupère (par exemple) tous les plats contenant la lettre "a" et j'aimerais qu'elle récupère seulement ceux commençant par la lettre "a" ...
Voici mon code :
Si quelqu'un avait une solution ce serait plutôt cool !!!
Merci d'avance
Dans mon application j'ai actuellement une liste de plats récupérée d'un fichier JSON et stockée dans un fichier texte dans mon projet.
Cette recherche est auto-complétée. Cependant elle récupère (par exemple) tous les plats contenant la lettre "a" et j'aimerais qu'elle récupère seulement ceux commençant par la lettre "a" ...
Voici mon code :
<br />
- (void)comparerStringSaisieAvecTableau:(NSString *)substring<br />
{<br />
[autoCompletionArray removeAllObjects];<br />
NSString *compareString;<br />
for(compareString in elementArray)<br />
{<br />
NSRange rang = [compareString rangeOfString:@"="];<br />
int l = rang.location + 1;<br />
NSString *monSub = [compareString substringFromIndex:l];<br />
NSRange substringRangeLowerCase = [[self enleverAccent:monSub] rangeOfString:[[self enleverAccent:substring] lowercaseString]];<br />
NSRange substringRangeUpperCase = [[self enleverAccent:monSub] rangeOfString:[[self enleverAccent:substring] uppercaseString]];<br />
<br />
if (substringRangeLowerCase.length != 0 || substringRangeUpperCase.length != 0)<br />
{<br />
[autoCompletionArray addObject:compareString];<br />
}<br />
}<br />
<br />
tableauResultat.hidden = NO;<br />
[tableauResultat reloadData];<br />
}<br />
Si quelqu'un avait une solution ce serait plutôt cool !!!
Merci d'avance
Mots clés:
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
L'usage est que le premier message soit sa présentation dans la section adéquate.
Regarde du côté de NSPredicate si tu ne connais pas.
Alors là je n'ai pas compris "sa présentation dans la section adéquate" ...
Je vais regarder ça merci.
Oui j'ai répondu rapidement et cela m'avait également semblé être tourné bizarrement.
Donc ce n'était pas qu'une impression.
Mais muqaddar a compris.
Je vais donc faire ça tout de suite.
En ce qui concerne mon code, il vaut mieux complètement le reprendre ? Aucune modification ne suffirait à seulement chercher les éléments commençant pas la lettre et non contenant la lettre ?
Je pensais à "hasPrefix" au lieu de "rangeOfString" ...
Ton code reste assez court, je ne crois pas que ce soit un gros sacrifice de le remplacer par du code utilisant NSPredicate, si ?
On ne peut pas juste donner un string comme predicateWithFormat:@%@", monString ?
Que ce soit NSPredicate ou filterArrayUsingBlock (moins performant, mais si vraiment tu es fermé à NSPredicate, bien que je ne comprenne pas pourquoi, suffit de lire la doc et le Programming Guide pour comprendre ça se fait en 2 lignes de code...) plutôt que de boucler manuellement...
Disons que comme ça c'était fait rapidement et que j'avais vraiment pas beaucoup de temps pour faire des recherches sur NSPredicate ou filterArrayUsingBlock mais je te promets Ali que je reviendrais sur ce petit bout de code pour qu'il soit plus joli dès que j'aurais du temps !