Динамическое отображение списка при использовании панели поиска в ipad - PullRequest
0 голосов
/ 05 мая 2011

Я создаю приложение, в котором я использую словарь с довольно большим количеством слов. Теперь я создаю панель поиска, и она будет использоваться для ввода слова, которое я буду искать в словаре. На самом деле этоПлан выполняется с помощью приведенного ниже кода, но теперь я хочу, чтобы всякий раз, когда я пишу предложение «папа пьет сок», в списке отображались все варианты и сочетания, я имею в виду, что он должен отображать все три слова по отдельности,затем он должен отображать предложения, которые будут содержать любое из слов, которые я ввел, например: - она ​​пьет воду, лаймовый сок, маму и папу и другие предложения, которые будут содержать эти слова по отдельности или в комбинации.

- (void) searchTableView {

    NSString *searchText = searchBar.text;
    NSMutableArray *searchArray = [[NSMutableArray alloc] init];

    for (NSDictionary *dictionary in listOfItems)
    {
        NSArray *array = [dictionary objectForKey:@"Words"];
        [searchArray addObjectsFromArray:array];
    }

    for (NSString *sTemp in searchArray)
    {
       NSRange titleResultsRange = [sTemp rangeOfString:searchText options:NSCaseInsensitiveSearch];

    if (titleResultsRange.length > 0) 
        [copyListOfItems addObject:sTemp];
   }

   [searchArray release];
   searchArray = nil;
}

1 Ответ

0 голосов
/ 05 мая 2011
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"( %K contains[cd] %@ ) OR  ( %K contains[cd] %@ ),yourfirstKey,searchText];

 NSArray * filteredArray = [searchArray filteredArrayUsingPredicate:predicate];

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...