Вот как я это сделал.Когда делегат
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
сообщает мне, что пользователь что-то набрал в строке поиска, я создаю предикат
[NSPredicate predicateWithFormat:@"string CONTAINS[c] %@",searchText];
, извлекающий результаты из MOC с помощью этого предиката, обновляю массив результатови скажем представлению таблицы результатов перезагрузить
[[self.searchDisplayController searchResultsTableView] reloadData];
Если у вас много результатов, вы можете попробовать установить предел выборки и загрузить все результаты, если пользователь нажмет кнопку поиска.
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar;
Надеюсь, это поможет.