Я предполагаю, что вы используете UISearchBar.
Вы можете использовать свой код от
- (void) searchBarSearchButtonClicked:(UISearchBar *)theSearchBar
в методе
- (void) searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
Имейте в виду, что вам не нужно переставлять ResignFirstResponder в searchBar: textDidChange.
Например, в этом методе могут быть:
NSError *error = nil;
// We use an NSPredicate combined with the fetchedResultsController to perform the search
if (self.mySearchBar.text !=nil)
{
if ([searchCriteria isEqualToString:@"artist"])
{
NSPredicate *predicate =[NSPredicate predicateWithFormat:@"artist contains[cd] %@", self.mySearchBar.text];
[fetchedResultsController.fetchRequest setPredicate:predicate];
}
}
else
{
NSPredicate *predicate =[NSPredicate predicateWithFormat:@"All"];
[fetchedResultsController.fetchRequest setPredicate:predicate];
}
if (![[self fetchedResultsController] performFetch:&error])
{
// Handle error
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
exit(-1); // Fail
}
// this array is just used to tell the table view how many rows to show
fetchedObjects = fetchedResultsController.fetchedObjects;
// dismiss the search keyboard
[mySearchBar resignFirstResponder];
// reload the table view
[myTableView reloadData];
}
Не стесняйтесь +1 к этому ответу, если это помогает таким людям, как я, они приходят из результатов поиска Google в этот пост :)
brush51