2011-01-08 8 views
2

配列ビューのNSDictionaryからの情報がロードされているテーブルビューに検索バーを挿入しようとしています。各配列は保持し、オブジェクトします。各オブジェクトには、名前や住所などのいくつかのプロパティがあります。UISearchBar - オブジェクトの配列のNSDictionaryを検索します。

私はNSSearchBarのメソッドを実装しましたが、配列自体が配列である別のプロジェクトで作業している検索自体に対応するコードは機能していません。 。

コードは次のとおりです。 'indiceLateral'はアルファベットの配列です。 'partners'はNSDictionaryです。 'RLPartnersClass'はパートナーのクラスで、プロパティ(名前、住所、...)を持ちます。

誰でも私を助けてくれますか?

おかげで、

ルイロペス

答えて

5

は、私はそれをやりました。

例:

-(void)handleSearchForTerm:(NSString *)searchTerm { 

    NSMutableDictionary *finalDict = [NSMutableDictionary new]; 
    NSString *currentLetter = [[NSString alloc] init]; 

    for (int i=0; i<[indiceLateral count]; i++) { 
     NSMutableArray *elementsToDict = [[[NSMutableArray alloc] init] autorelease]; 
     currentLetter = [indiceLateral objectAtIndex:i]; 

     NSArray *partnersForKey = [[NSArray alloc] initWithArray:[partnersCopy objectForKey:[indiceLateral objectAtIndex:i]]]; 

     for (int j=0; j<[partnersForKey count]; j++) { 
      RLNames *partnerInKey = [partnersForKey objectAtIndex:j]; 

      NSRange titleResultsRange = [partnerInKey.clientName rangeOfString:searchTerm options:NSDiacriticInsensitiveSearch | NSCaseInsensitiveSearch]; 

      if (titleResultsRange.length > 0){ 
       NSLog(@"found: %@", partnerInKey.clienteCity 
       [elementsToDict addObject:partnerInKey]; 
      } 
     } 

     [finalDict setValue:elementsToDict forKey:currentLetter]; 
    } 

    NSMutableDictionary *finalResultDict = [finalDict mutableDeepCopy]; 
    self.partners = finalResultDict; 
    [finalResultDict release]; 

    [theTable reloadData]; 
} 
関連する問題