Итак, я пытаюсь извлечь объекты из основных данных. У меня есть список, скажем, 80 объектов, и я хочу иметь возможность искать их с помощью UISearchBar. Они отображаются в таблице.
Используя яблочную документацию по предикатам, я поместил следующий код в один
методов делегата UISearchBar.
- (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];
}
Если я введу в поле поиска точное совпадение со свойством name одного из этих объектов, поиск сработает, и он заполнит таблицу одной ячейкой с именем объекта. Если я не ищу точное имя, я не получаю результатов.
Есть мысли?