Я использую основные данные с магической записью, и я пытаюсь фильтровать данные с помощью панели поиска в виде таблицы.Строка поиска в проекте основных данных
я пишу два способа, чтобы получить число строк и имя клеток:
-(int) dammiNumeroCercati:(NSString *)searchBar
{
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"nome CONTAINS [cd] %@", searchBar];
NSArray*arra = [Ricetta MR_findAllSortedBy:@"nome" ascending:YES withPredicate:predicate];
return arra.count;
}
-(NSString*) dammiNomeRicettaCercata:(NSString *)searchBar mostrataNellaCella: (int) cella
{
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"nome CONTAINS [cd] %@", searchBar];
NSArray *arra = [Ricetta MR_findAllSortedBy:@"nome" ascending:YES withPredicate:predicate];
Ricetta*ctn = arra[cella];
return [NSString stringWithFormat:@"%@", ctn.nome];
}
тогда я называть этот метод внутри numberOfRowsInSection: и cellForRowAtIndexPath: внутри если цикл:
if (self.mySearchBar.isFirstResponder){
// the above methods
} else {
// the normals methods to have all the data
}
Кто-нибудь знает, где я ошибаюсь, или если я пропущу что-то?
В чем проблема? и как вы называете вышеуказанные методы? как какие аргументы проходят? – govi
Даже если это сработало: вызов «MR_findAllSortedBy» снова и снова крайне неэффективен. Вы должны посмотреть NSFetchedResultsController. –
@ govi Проблема в том, что панель поиска не работает – Totka