2010-10-15 4 views
0

Voici mon plist:Recherche un tableau et l'affichage de la valeur d'un autre tableau à même indice

<dict> 
<key>ehindi</key> 
<string>ankamaal</string> 
<key>part</key> 
<string>n</string> 
<key>meaning</key> 
<string>hug</string> 
<key>hindi</key> 
<string>अंकमाल </string> 
</dict> 

Voici mon code:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    NSString *path = [[NSBundle mainBundle] bundlePath]; 
    NSString *finalPath = [path stringByAppendingPathComponent:@"Data.plist"]; 
    NSDictionary *plistData = [[NSDictionary dictionaryWithContentsOfFile:finalPath] 
     retain]; 

    NSArray *inHidi = [NSArray arrayWithArray:[dict valueForKey:@"hindi"]]; 
    NSDictionary *inHindiDict = [NSDictionary dictionaryWithObject:inHindi  
     forKey:@"HindiArray"]; 

    NSArray *inEhindi = [NSArray arrayWithArray:[dict valueForKey:@"ehindi"]]; 
    NSDictionary *inEhindiDict = [NSDictionary dictionaryWithObject:inEhindi 
     forKey:@"EHindiArray"]; 

    [listItem addObject:inEhindiDict]; 
    [listItem addObject:inHindiDict]; 

    copyItem = [[NSMutableArray alloc] init]; 

    /////.... 
} 

I'trying à clé de recherche « ehindi » et afficher le résultat 'hindi' sur mon écran. Voici ce que j'ai fait pour rechercher

- (void) searchTableView { 
    NSString *searchText = searchBar.text; 
    NSMutableArray *searchArray = [[NSMutableArray alloc] init]; 

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

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

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

    [searchArray release]; 
    searchArray = nil; 
} 

Je suis juste capable de rechercher 'ehindi'. Comment puis-je trouver le et afficher le mot dans 'hindi'. Il n'est pas possible de rechercher devnagari et seule l'option que j'ai est de trouver l'index et de distribuer la valeur de cet index de "EHindiArray" .... Je serai vraiment heureux si quelqu'un pouvait m'aider à résoudre ce problème.

Répondre

0

Je ne suis pas un expert en Objective-C. La façon dont vous posez votre question «Recherche sur tableau et affichage de la valeur d'un autre dans le même index» ressemble à tableaux parallèles.

Ne pouvez-vous pas simplement stocker l'index d'un tableau et utiliser cette variable pour afficher la valeur de l'autre?

je malentendu comment le plist entre en jeu ici, mais ...

D'autre part, il semble que vous créez un dictionnaire. Pourquoi utiliser l'objet dictionnaire pour cela? Vous pouvez créer votre propre classe personnalisée HindiWord et avoir des chaînes pour chacune de vos entrées de dictionnaire. Ce serait quelque chose comme:

#import <Foundation/NSObject.h> 

@interface HindiWord: NSObject { 
    NSString ehindi; 
    NSString part; 
    NSString meaning; 
    NSString hindi; 
} 

@end 

Vous auriez alors avez 1 choix de ces objets, et vous pouvez rechercher la chaîne ehindi, et saisir facilement la chaîne hindi.

Questions connexes