1

私のアプリは、ユーザーがUISearchBarに検索結果を入力した直後に、検索結果を解析しています。すべてが正常に動作します。しかし、今は全文を検索したいと思います。結果は私のNSMutableArrayにありますが、表示されません。問題はこのコードだと思います:

NSRange nameRange = [SDPE.title rangeOfString:self.searchBar.text options:NSCaseInsensitiveSearch];

私に何ができる?

4

2 に答える 2

1

これをチェックして :

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
  searchBar.showsCancelButton = YES;
  if([self.filteredListContent count]>0)
  {
    [self.filteredListContent removeAllObjects]; // First clear the filtered array.
  }

  for (int cnt = 0; cnt< [self.listContent count];cnt++)
  {
    NSRange range = [[[self.listContent objectAtIndex:cnt]lowercaseString]  rangeOfString :[searchText lowercaseString]];

    if(range.length>0)
    {
        [self.filteredListContent addObject:[self.listContent objectAtIndex:cnt]];
    }
    self.blSearchBarClicked = TRUE;
    [self.tbViewSearch reloadData];
  }
}
于 2012-11-07T11:57:12.587 に答える
0

ジャック・ローレンスの良いアドバイスのおかげで、私は完璧な答えを見つけました:

- (void)filterContentForSearchText:(NSString *)searchText scope:(NSString *)scope
 {
     NSPredicate *resultPredicate = [NSPredicate 
                                    predicateWithFormat:@"SELF contains[cd] %@",
                                     searchText];

    searchResults = [recipes filteredArrayUsingPredicate:resultPredicate];
 }

ソース: http: //www.appcoda.com/how-to-add-search-bar-uitableview/

于 2012-11-07T13:51:40.303 に答える