J'essaie d'implémenter la méthode de saisie semi-automatique dans une application. Au fur et à mesure que je tape des caractères, il renvoie des mots qui correspondent au premier caractère. Par exemple si je tape "B" ou "ba" il retourne une chaîne commençant par "ba" comme "Ballon" et "Ball". Mais dans mon tableau, il y a des chaînes avec plus d'un mot qui sont séparées par '(' ou 'espace') Exemple "Balle Blanche" ou "" Géant (Big) "Je dois aussi obtenir ces chaînes. sera très appréciée.Recherche sur une chaîne contenant plusieurs mots séparés par des caractères spéciaux
Voici le code que je utilise,
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
autocompleteTableView.hidden = NO;
NSString *substring = [NSString stringWithString:textField.text];
substring = [substring stringByReplacingCharactersInRange:range withString:string];
[self searchAutocompleteEntriesWithSubstring:substring];
return YES;
}
- (void)searchAutocompleteEntriesWithSubstring:(NSString *)substring {
[autocompleteList removeAllObjects];
for(NSString *curString in contentArray)
{
NSRange substringRange = [curString rangeOfString:substring options:NSCaseInsensitiveSearch];
if (substringRange.location == 0)
{
[autocompleteList addObject:curString];
}
}
[autocompleteTableView reloadData];
}
Merci
@ Suhas .. Merci compagnon. Ça a marché. :) – Sibin