Iphone UISearchBar-搜索对象数组的字典

Iphone UISearchBar-搜索对象数组的字典,iphone,nsarray,nsdictionary,uisearchbar,Iphone,Nsarray,Nsdictionary,Uisearchbar,我正在尝试在tableview中插入一个搜索栏,其中加载了来自数组字典的信息。每个数组保存一个对象和一个对象。每个对象都有几个属性,例如名称或地址 我已经实现了NSSearchBar的方法,但是与搜索本身对应的代码,我在另一个项目中工作,其中数组只有字符串,不起作用,我无法解决这个问题 代码如下: “indicateral”是带有字母表的数组; “合作伙伴”是一本词典; “RLPartnersClass”是我的合作伙伴类,每个合作伙伴都有属性(名称、地址等) 有人能帮我吗 谢谢 鲁伊·洛佩斯我已

我正在尝试在tableview中插入一个搜索栏,其中加载了来自数组字典的信息。每个数组保存一个对象和一个对象。每个对象都有几个属性,例如名称或地址

我已经实现了NSSearchBar的方法,但是与搜索本身对应的代码,我在另一个项目中工作,其中数组只有字符串,不起作用,我无法解决这个问题

代码如下: “indicateral”是带有字母表的数组; “合作伙伴”是一本词典; “RLPartnersClass”是我的合作伙伴类,每个合作伙伴都有属性(名称、地址等)

有人能帮我吗

谢谢

鲁伊·洛佩斯

我已经做到了

例如:

-(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];
}
-(void)handleSearchForTerm:(NSString*)搜索术语{
NSMutableDictionary*finalDict=[NSMutableDictionary new];
NSString*currentLetter=[[NSString alloc]init];
对于(int i=0;i
-(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];
}