J'essaie donc de récupérer des objets à partir de données de base. J'ai une liste de disons 80 objets, et je veux être capable de les chercher en utilisant un UISearchBar. Ils sont affichés dans une table. En utilisant la documentation apple sur les prédicats, j'ai mis le code suivant dans un des méthodes de délégué UISearchBar.Demande de données de base avec des prédicats - iPhone
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
if (self.searchBar.text !=nil)
{
NSPredicate *predicate =[NSPredicate predicateWithFormat:@"name LIKE %@", self.searchBar.text];
[fetchedResultsController.fetchRequest setPredicate:predicate];
}
else
{
NSPredicate *predicate =[NSPredicate predicateWithFormat:@"All"];
[fetchedResultsController.fetchRequest setPredicate:predicate];
}
NSError *error = nil;
if (![[self fetchedResultsController] performFetch:&error]) {
// Handle error
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort(); // Fail
}
[self.tableView reloadData];
[searchBar resignFirstResponder];
[_shadeView setAlpha:0.0f];
}
Si je tape dans le champ de recherche une correspondance exacte à la propriété du nom d'un de ces objets, la recherche fonctionne, et il repeuple la table avec une seule cellule avec le nom de l'objet. Si je ne recherche pas le nom exact, je me retrouve sans résultat.
Des pensées?
désolé de l'absence de formatage sur le code, j'ai oublié d'ajouter le code exemple de balises – gburgoon
Vous pouvez éditer votre message pour mettre en forme le code correctement ... – CMPalmer