Как найти массив словарей и показать в UITableview?

Я довольно новичок в IOS, и я использую UISearchDisplayController для поиска.

 -(BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString { [self filterContentForSearchText:searchString scope:[[self.searchDisplayController.searchBar scopeButtonTitles] objectAtIndex:[self.searchDisplayController.searchBar selectedScopeButtonIndex]]]; return YES; } - (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope { NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY SELF == %@", searchText]; NSArray *filtered = [self.arrProductList filteredArrayUsingPredicate:predicate]; NSLog(@"%@", filtered); } 

И вот мой self.arrProductList – это массив массива, т.е.

     ({
         ID = 1;
         description = "Coalesce Functioning on the нетерпеливость T-Shirt";
         pname = "Coalesce Functioning T-Shirt";
         цена = "299,00";
         qty = 99;
        },
     {
         ID = 2;
         description = "Eater Krylon Bombear Destroyed T-Shirt";
         pname = «Футболка девушки»;
         price = "499,00";
         qty = 99;
     },
     {
         ID = 3;
         description = "The Get-up Kids Band Camp Pullover Hoodie";
         pname = "Band Camp T-Shirt";
         price = "399,00";
         qty = 99;
     })  

Мой вопрос – как искать с помощью ключа «pname» ? Мое приложение разбито

filteredArrayUsingPredicate:

Вам нужно изменить свой предикат, чтобы добавить ключ для поиска:

 NSPredicate *predicate = [NSPredicate predicateWithFormat:@"pname == %@", searchText]; 

Дополнительно == самом деле будут искать точные совпадения, т. Е. Если вы войдете в Band Camp T-Shirt качестве поиска, то вы получите результат, вы не сможете получить никакого результата, если просто введите Band или Camp или Shirt , Поэтому для достижения поиска на основе символов вам нужно изменить предикат, чтобы включить ключевое слово include.

 NSPredicate *predicate = [NSPredicate predicateWithFormat:@"pname contains[cd] %@", searchText]; 

[cd] будет соответствовать нечувствительным к регистру.

Мой друг решает эту проблему. Вот код:

 - (void) searchBarDidBeginEditing:(UISearchBar*) lclSearchBar { self.searchBar.showsCancelButton = YES; } #pragma mark - UISearchDisplayController delegate methods -(BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString { [self filterContentForSearchText:searchString scope:[[self.searchDisplayController.searchBar scopeButtonTitles] objectAtIndex:[self.searchDisplayController.searchBar selectedScopeButtonIndex]]]; return YES; } - (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope { if (searchResults.count != 0) { [searchResults removeAllObjects]; } for (int i=0; i< [self.arrProductList count]; i++) { NSString *string = [[self.arrProductList objectAtIndex:i] valueForKey:@"pname"]; NSRange rangeValue = [string rangeOfString:searchText options:NSCaseInsensitiveSearch]; if (rangeValue.length > 0) { NSLog(@"string contains bla!"); [searchResults addObject:[self.arrProductList objectAtIndex:i]]; } else { NSLog(@"string does not contain bla"); } } NSLog(@"fiilterArray : %@",searchResults); } 
  • Скомпилировать ошибку, пытающуюся выполнить popper segue из динамического UITableViewCell
  • Основной текст в содержимом UITableviewCell перекрывается и повторяется и накладывается на другие ячейки
  • Как проверить ячейку в UItableview для отображения изображения
  • Используйте один раздел NSManagedObject для UITableView и это отношение к другому NSManagedObject для строк?
  • Динамическая высота UITableView
  • Пользовательская ячейка в UITableView сдвигается сразу после салфетки для редактирования
  • Прокрутка вверх, когда вы нажимаете строку состояния
  • UITableViewCell - Можно ли программно отобразить кнопку «Удалить»?
  • При вращении UIPopoverController, отображаемый из UITableViewCell, неправильно размещен
  • iPhone / iOS: подклассификация UITableViewCell два раза -> не может ссылаться на свойства родительского класса в InterfaceBuilder
  • `tableView: heightForHeaderInSection:` вызов делегата, который его не реализует
  • Interesting Posts

    Swift Объединить аудио и видео файлы в одно видео

    Вертикальное выравнивание текста UITextView

    Как SHA-хэш в какао / iOS

    Можно ли вызвать функцию performSelectorOnMainThread: после вызова функции beginBackgroundTaskWithExpirationHandler и приложение находится в фоновом режиме?

    Можно ли разрешить кому-либо еще загружать и распространять мое приложение в Apple App Store?

    Что может привести к сбоям, вызванным защитой кода?

    Swift: добавить пользовательский вид внутри CALayer

    Синхронизация NSUserDefaults не выполняется.

    Grand Central Dispatch без блоков

    Диагностика сброшенных уведомлений от Azure Notification Hub до APNS

    Игнорировать свойства nil при сериализации JSON с помощью RestKit

    Расшифровка 3DES ECB с ключом MD5 на iOS

    Как вы оживляете подслои слоя UIView во время анимации UIView?

    Бесшовная анимация «слева направо» при нажатии контроллера просмотра?

    Как создать символы нижнего индекса, которые не находятся в Юникоде в iOS

    Давайте будем гением компьютера.