J'ai UIPicker que j'ai besoin d'écrire mécanisme de recherche. Les données qui alimentent ce sélecteur sont un tableau de chaînes. Lorsque l'utilisateur entre la chaîne de recherche (j'ai un UISearchBar qui gère cela.) Je voudrais trouver toutes les chaînes contenant le terme de recherche. De l'exemple ci-dessous, il semble que j'ai besoin d'écrire un prédicat puis de filtrer le tableau. Le problème que j'ai en ce moment est que je ne sais pas comment afficher les résultats de la recherche à l'utilisateur. J'ai essayé d'affecter le jeu de résultats au tableau d'origine, mais ce n'est pas correct. Quelqu'un pourrait-il suggérer une technique pour implémenter la recherche d'un UIPicker avec un exemple de code?iPhone SDK: Comment implémenter la recherche dans un UIPicker?
NSMutableArray* names = [NSMutableArray arrayWithObjects:@"Andy", @"Bart", @"Bob", nil];
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"SELF beginswith[c] 'b'"];
NSArray* namesStartingWithB = [names filteredArrayUsingPredicate: predicate];
Merci d'avance.
Merci pour l'exemple utile que j'ai dû modifier légèrement car j'utilise un NSMutableArray \t NSPredicate * predicate = [NSPredicate predicateWithFormat: @ "AUTO beginswith [c] 'B'"]; \t [arrayCountryChoices filterUsingPredicate: prédicat]; \t [pickerCountry reloadComponent: 0]; \t Cela fonctionne bien Mon seul qu. estion est comment puis-je restaurer l'ensemble de données d'origine après un filtre? – user265550
Dans mon exemple, data est l'ensemble de données d'origine et searchResults est l'ensemble de données filtré. pour restaurer l'original, je ferais ceci: self.searchResults = [NSArray arrayWithArray: data]; –